小编All*_*n W的帖子

如何将 IBM DB2 服务器添加到 SQL Server 的链接服务器

从 .Net,我可以连接到 DB2 数据库:

  1. 首先,我引用了“IBM.Data.DB2.iSeries”
  2. 然后我创建一个新的 IBM.Data.DB2.iSeries.iDB2Connection。连接字符串是

    DataSource=ChaDb2Server;UserID=MyUsername;Password=MyPassword;
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后我创建了一个 IBM.Data.DB2.iSeries.iDB2Command,等等。

现在我试图让我的 SQL Server 2005 直接访问相同的数据。在 SQL Server Management Studio 中,我右键单击链接服务器,然后选择“新建链接服务器...”

Linked Server:   ChaDb2Server
Provider:        IBM OLE DB Provider for DB2
Product Name:    ???
Data Source:     ChaDb2Server
Provider String: DataSource=ChaDb2Server;UserID=MyUsername;Password=MyPassword;
Location:        ???
Run Code Online (Sandbox Code Playgroud)

我可以将 Location 留空,但 Product Name 不能为空,我不知道在这里填写什么。

在“安全”选项卡上,我选择“使用此安全上下文制作”并重复用户 ID 和密码。

链接服务器已创建,但是当我尝试展开目录/默认/表时,我收到一条错误消息:

OLE DB provider 'IBMDADB2.DB2COPY1' reported an error. Authentication failed. (Microsoft SQL Server, Error: 7399)
Run Code Online (Sandbox Code Playgroud)

我不知道 IBMDADB2.DB2COPY1 这个名字从何而来。

另外,当我尝试选择数据时:

Select * from ChaDB2Server.ChaDb2Server.Information_Schema.Tables
Run Code Online (Sandbox Code Playgroud)

我收到类似的错误:

Msg 7399, Level 16, State 1, …
Run Code Online (Sandbox Code Playgroud)

sql-server db2 linked-server

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

db2 ×1

linked-server ×1

sql-server ×1