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 通过 private/secure 局域网
谢谢。该代码似乎有效。如果您有 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
目前,我正在尝试从 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 通过 private/secure 局域网
谢谢。该代码似乎有效。如果您有 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