繁体   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