2012-03-26 114 views
0

我想從excel宏連接到DB2 ...這是我的代碼,但它不工作,它給出的錯誤爲'運行時錯誤'...任何人都可以幫助我...來自excel宏的DB2連接

Option Explicit 

Dim DBCONSRT, QRYSTR As String 

Dim DBCON, DBRS As Object 

Private Sub query() 
    DBCONSRT = "Driver=jdbc:db2://my_host;Database=PRTHD;hostname=NZ1;port=5355;protocol=TCPIP; uid=my_user;pwd=my_pass" 
    'CHANGE THE BELOW QUERY STRING ACCORDING TO YOUR NEED 
    QRYSTR = "select * from PRTHD.STRSK_OH_EOO" 
    Set DBCON = CreateObject("ADODB.Connection") 
    DBCON.ConnectionString = DBCONSRT 
    DBCON.Open 
    'BELOW CODE USED TO GET THE DATABASE CONECTION AND EXECUTE THE QUERY CHANGE ACCORDIGN TO YOUR NEED 
    Set DBRS = CreateObject("ADODB.Recordset") 
    With DBRS 
     .Source = QRYSTR 
     Set .ActiveConnection = DBCON 
     .Open 
    End With  
End Sub 

編輯:我已經改變了我的代碼以下,但我仍然得到一個錯誤。錯誤是「不能創建對象」。可以ayone幫助我..

Dim DBCONSRT, QRYSTR As String 

Dim DBCON As Object 

Sub query() 

    DBCONSRT = "Provider=MSDASQL.1;Persist Security Info=False;User ID=user;Data Source=NZ1;DSN=NZ1;UID=user;SDSN=;HST=ibslnpb1.sysplex.homedepot.com;PRT=4101;Initial Catalog=PRTHD;" 

    DBCON = CreateObject("OLEDB.Connection") 
    DBCON.ConnectionString = DBCONSRT 
    DBCON.Open() 
End Sub 
+0

我可能是錯的,但我不認爲你可以在Excel中使用JDBC。我認爲你想要ODBC。 – bhamby 2012-03-26 13:29:24

+0

你的意思是'CreateObject(「ADODB.Connection」)'? – Fionnuala 2012-03-27 14:10:17

回答

0

的JDBC功能我敢肯定不是通過VBA支持,我認爲你需要使用ODBC連接器連接,如果你到DB2正試圖將其整合到excel中。

Private Sub query() 
    DBCONSRT = "Provider=MSDASQL.1;Persist Security Info=False;User ID=user;Data Source=NZ1;DSN=NZ1;UID=user;SDSN=;HST=ibslnpb1.sysplex.homedepot.com;PRT=4101;In‌​itial Catalog=PRTHD;" 
    Using connection = New OleDbConnection(DBCONSRT) 
     connection.Open() 
     Dim cmd = connection.CreateCommand() 
     cmd.CommandText = QRYSTR //This is where your sql statement should go, or the variable that is equal to the query. 
     Using dr = cmd.ExecuteReader() 
      //Process your query results here 
     End Using 
    End Using 
End Sub 
+0

okie ..我會嘗試使用ODBC連接器..感謝 – user1271146 2012-03-26 14:40:41

+0

代碼是否正確?....除連接字符串 – user1271146 2012-03-26 14:41:17

+0

您需要將ADODB對象更改爲OLEDB對象。 – em3ricasforsale 2012-03-26 15:46:19