簡體   English   中英

Excel VBA 連接到 IBM DB2

[英]Excel VBA Connect to IBM DB2

目前,我正在嘗試從 VBA 查詢 DB2 實例,但很難找到提供完整答案的正確文檔或以前的堆棧問題。

當我運行下面的程序時,我收到一個錯誤:

“SQL1032N 沒有發出啟動數據庫管理器命令。SQLSTATE=57019”

當前連接代碼:

Sub connect()

    Dim conn As Object 'Variable for ADODB.Connection object
    Dim rs As Object 'Variable for ADODB.Recordset object

    Set conn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")

    conn.ConnectionString = "Provider=IBMDADB2.1;Server=servername;Database=dbname;Port=port;Data Source=DB2;ProviderType=OLEDB;UID=uid;PWD=pw"
    conn.Open

    rs.Open "Select * .....", conn
    rs.Close
    conn.Close

End Sub

謝謝你們

僅供將來偶然發現此問題的任何人參考,我能夠成功連接以下內容:

Dim conn As Object 'Variable for ADODB.Connection object
Dim rs As Object 'Variable for ADODB.Recordset object

Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

conn.ConnectionString = "Provider=IBMDADB2.1;UID=" & username & ";PWD=" & password & ";Data Source=ABCDB1;ProviderType=OLEDB"
conn.Open

注意:用戶名和密碼是分配了適當憑據的字符串

這適用於我裝有 Windows 7、安裝了客戶端 DB2 和 Excel 2010 的機器,通過專用/安全 LAN 網絡

感謝那。 該代碼似乎有效。 如果您有一個 ODBC 連接設置(它已經處理了所有復雜的連接),那么 ConnectionString 非常簡單,只需輸入 ODBC 連接名稱:

Dim conn As Object 'Variable for ADODB.Connection object
Dim rs As Object 'Variable for ADODB.Recordset object

Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

conn.ConnectionString = "<YourODBCConnectionName>"
conn.Open

rs.Open "Select * from <schema>.<tableName> fetch first 10 rows only", conn
rs.Close
conn.Close

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM