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