[英]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.