Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

Views

Histats

Vitrine

+Views

Widgets Mundo Blogger

Conectando-se ao DB2

Conectando-se ao DB2


Abaixo está uma pequena rotina VBA executada no MS Excel para consultar uma tabela usando o driver de ODBC. Precisa limpar um pouco, declarar minhas variáveis, etc, mas funciona.

Eu sempre achei difícil deixar um exemplo completo disso na Web. Tenho certeza que existe algum exemplo completo disso por aí, mas quis deixar minha contribuição breve. Essa versão é boa devido ao usuário precisar de uma conexão ODBC em sua máquina. Automaticamente limitando o acesso cliente a um login que deva funcionar.

Sub transfer()

Dim varState As String

Set CS = CreateObject(“ADODB.Connection”)Set RS = CreateObject(“ADODB.Recordset”)

‘Retrieve values from Cells on the sheet to use as selections in the query belowvarState = ActiveSheet.Range(“C2”).ValuevarFrom_Date = ActiveSheet.Range(“B3”).ValuevarTo_Date = ActiveSheet.Range(“B4”).Value‘ ISeries connection String‘ConnectString = “Driver={ISeries Access ODBC Driver};System=10.1.4.1;Uid=xxxxx;Pwd=xxxxx;Library=PWRDTA41;QueryTimeout=0”ConnectString = “Driver={ISeries Access ODBC Driver};System=10.1.4.1;Library=PWRDTA41;QueryTimeout=0”

CS.Open (ConnectString)

SqlString = “SELECT hhicusn , C.FFDCNMB, C.FFDSTEB, hhiclsn, SUM(hhiqysa), SUM(hhiexsn), SUM(hhiexac) ” & _” FROM pwrdta41.hhiorddp ” & _” left outer join PWRDTA41.FFDCSTBP c” & _” ON hhicusn = c.ffdcusn and” & _” hhidivn = c.ffddivn and” & _” c.ffdcmpn = hhicmpn and” & _” c.ffddptn = hhidptn” & _” WHERE hhidtei between ” & varFrom_Date & ” and ” & varTo_Date & _” and hhiclsn = ‘105’ and c.ffdsteb = ‘” & varState & “‘” & _” GROUP BY hhicusn, c.ffdcnmb, c.ffdsteb, hhiclsn” & _” ORDER BY hhicusn”

‘Message box can be used for debugging the SQL statement‘MsgBox (SqlString)

RS.Open SqlString, CS

‘Clear Previous contents of CellsCells.SelectActiveSheet.Range(“A7:Z65535”).ClearContents‘copy the Recordset to excel sheet starting at A7ActiveSheet.Range(“A7”).CopyFromRecordset RS

‘Close Connection and RecordSetRS.CloseCS.Close‘Reset cell back to A1ActiveSheet.Range(“A1”).Select

End Sub



Envie seus comentários e sugestões e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets
Related Posts Plugin for WordPress, Blogger...
diHITT - Notícias