Ir para conteúdo
Fórum Script Brasil

andrevgm

Membros
  • Total de itens

    13
  • Registro em

  • Última visita

Tudo que andrevgm postou

  1. Estou tendo problemas na execução de um pacote dts que possui uma task (Task_1) realizando chamada síncrona via Msxml2.XMLHttp (AJAX) para preenchimento de uma variável global que será utilizada em outra task (Task_2). A referida DTS só funciona a contento se a execução da primeira task (Task_1) for feita manualmente, clicando com o botão direito e selecionando Execute Step. Dessa forma, a variável que será utilizada no task seguinte (Task_2) será preenchida a contento. Link para baixar o pacote DTS: http://www.megaupload.com/?d=0RMES8KO Para restaurar o pacote DTS, vá ao Enterprise Manager e clique com o botão direito na pasta "Data Transformation Services" e clique em "Open package".
  2. Estou utilizando a opção "Windows Authentication" sim. A questão é: Qual o nome do servidor se não aparece nenhum!? Vide imagem no link: http://img198.imageshack.us/gal.php?g=68081467.jpg
  3. O problema foi minimizado com a utilização do objeto “Msxml2.XMLHttp” em uma DTSTaskGlobalVariables, pois a task termina com sucesso. Um outro problema ainda continua, que é o seguinte: Ao executar a TASK_1 (clicando com o botão direito e selecionando executar step) um popup é exibido com o resultado da chamada assíncrona. Mas quando executo o pacote normalmente, essa mensagem não aparece (msg da TASK_1). As TASK_1 e TASK_2 são executadas normalmente com sucesso. Problema: a rotina Sub HandleStateChange() da TASK_1 não é executada! Sub HandleStateChange() Dim objXmlHttp Set objXmlHttp = DTSGlobalVariables("objXmlHttp").Value If (ObjXmlHttp.readyState = 4) Then MsgBox objXmlHttp.responseText End If End Sub
  4. Nenhuma das sugestões resolveu. As abas Local Servers e Network Servers estão vazias!
  5. Seguem as imagens da dúvida. http://img198.imageshack.us/gal.php?g=68081467.jpg
  6. Sempre utilizei SQL Server 2000 em minhas aplicações, porém o mesmo não funciona com o windows vista ultimate, e estou querendo conhecer como ficou a versão 2005. Me disseram que a interface mudou muito, e para pior. Ao finalizar a instação do SQL Server 2005 enterprise não consigo me logar. Ao executar o SQL Server Management Studio é solicitado o "Server Name", que não sei qual é e por isso não consigo conectar na instância. No SQL Server 2000 no Enterprise Management é automático!!! []'s
  7. Tenho que me utilizar da propriedade onreadystatechange pois é a maneira que tenho de saber se o resultado da requisição já retornou. Acho que a resposta está a nível de funcionamento interno do Sistema Operacional ou do Sql Server. []'s
  8. Boa noite. Desculpe pela demora na resposta. Fiz um teste colocando em DTSTaskGlobalVariables e deu certo, quer dizer que o problema não ocorreu mais. Obrigado. Apesar de termos resolvido o problema ainda fica uma dúvida: A variável declarada deveria pertencer ao escopo somente das duas funções e não à DTS inteira. Por isso declarei daquela maneira. Utilizo esse tipo de declaração normalmente em inúmeras tasks e não tenho problema algum. O único detalhe é que não utilizo esse tipo específico de objeto (Msxml2.XMLHttp). []'s, André
  9. Ao executar uma DTS com duas tasks em sequência, a TASK_1 nunca retorna sucesso, fazendo assim com que a TASK_2 nunca inicie sua execução. A TASK_1 tem uma particularidade que é utilizar o objeto “Msxml2.XMLHttp” (AJAX- Asynchronous Javascript And XML) realizando uma chamada assíncrona. De forma contingencial, se eu executar isoladamente a TASK_1 e a TASK_2, quer dizer, de forma manual, sem utilização do encadeamento por step, a TASK_1 exibe a mensagem que foi executada com sucesso e a TASK_2 idem. Segue o código de cada task (ActiveX Script Task): '********************************************************************** ' TASK_1 (Visual Basic ActiveX Script) '********************************************************************** Dim objXmlHttp Set objXmlHttp = CreateObject("Msxml2.XMLHttp") Function Main() objXmlHttp.Open "POST", "http://scriptbrasil.com.br", False objXmlHttp.onreadystatechange = GetRef("HandleStateChange") objXmlHttp.Send Main = DTSTaskExecResult_Success End Function Sub HandleStateChange() If (ObjXmlHttp.readyState = 4) Then MsgBox objXmlHttp.responseText End If End Sub '********************************************************************** ' TASK_2 (Visual Basic ActiveX Script) '********************************************************************** Function Main() MsgBox “TASK_2” Main = DTSTaskExecResult_Success End Function
  10. sua_funcao () Declare @nome_var as INT --faz um monte de coisa SET @nome_var = 10 --(pode colocar qualquer coisa, mas tem que alterar o tipo na declaração da variável) select @nome_var -- ou print @nome_var end sua_funcao --Para executar a função e exibir o resultado exec sua_funcao()
  11. SELECT f.nome_tarefa , f.numero_tarefa , d.nome_duv FROM tarefas f INNER JOIN duvidas d on f.idTarefa = d.idTarefa_duv WHERE f.data_tarefa = '2009-05-15'
  12. O problema não é conseguir debugar. O código que fiz está correto e funcionando. O problema é que ao criar sequencia de execução de tasks, a step que utiliza objeto em questão nunca retorna sucesso, fazendo assim com que o próximo passo fique aguardando o resultado de sucesso da anterior para iniciar a execução, mas isso nunca acontece. Se eu executar a step separadamente, quer dizer, sem encadeamento, ela funciona e a DTS exibe mensagem de sucesso. Acho que o problema se deve a questão de ser chamada assíncrona... O que tive que fazer para contornar a situação é montar todo o encadeamento de steps sem colocar o step que utiliza esse objeto. Sempre tenho que entrar na DTS e executar isoladamente a step q utiliza o objeto (aí ela retorna sucesso!!!), deletá-la e aí sim executar a DTS completa. Ao final fecho a DTS sem salvar para não perder a step deletada... OBS.: Postei nessa resposta um código válido para que você consiga reproduzir o erro. Não testei esse código que te enviei para ver se o erro acontece também pois estou sem computador com SQL Server esses dias... Mas acredito que irá acontecer. ********************************************************************** ' Visual Basic ActiveX Script '************************************************************************ Option Explicit Dim objXmlHttp Set objXmlHttp = CreateObject("Msxml2.XMLHttp") 'create variables Dim objRegEx 'create instance of RegExp object Set objRegEx = New RegExp Function Main() objXmlHttp.Open "POST", "http://scriptbrasil.com.br", False objXmlHttp.onreadystatechange = GetRef("HandleStateChange") objXmlHttp.Send Main = DTSTaskExecResult_Success End Function Sub HandleStateChange() If (ObjXmlHttp.readyState = 4) Then MsgBox objXmlHttp.responseText End If End Sub
  13. Prezados, Estou tendo problemas ao executar uma DTS em que a primeira step, que se utiliza do objeto Msxml2.XMLHttp (AJAX), é executada, pois os steps seguintes não iniciam enquanto ela essa step não retornar sucesso, o que não acontece, deixando a DTS travada e só finalizo com control + alt + del. Segue exemplo do código interno da step (ActiveX Script Task): '********************************************************************** ' Visual Basic ActiveX Script '************************************************************************ Option Explicit Dim objXmlHttp Set objXmlHttp = CreateObject("Msxml2.XMLHttp") 'create variables Dim objRegEx, Match, Matches, StrReturnStr Function Main() objXmlHttp.Open "POST", URLSource, False objXmlHttp.onreadystatechange = GetRef("HandleStateChange") objXmlHttp.Send Main = DTSTaskExecResult_Success End Function Sub HandleStateChange() If (ObjXmlHttp.readyState = 4) Then ... faz alguma coisa End If End Sub
×
×
  • Criar Novo...