DB2OLEDB v5和SQL Server 2016

时间:2017-03-10 19:18:48

标签: linked-server sql-server-2016

我使用DB2OLEDB v5作为SQL Server 2016中的链接服务器连接到AS400数据库 - 但Binary to Character不会翻译。 AS400数据库上的所有二进制字段在SQL Server上以十六进制形式返回。有没有人成功使用SQL Server 2016中的这种类型的链接服务器?下面的提供程序字符串与我在SQL Server 2012上成功使用的字符串相同。我非常感谢可以提供的任何帮助。这是我的提供者字符串:

exec master.dbo.sp_addlinkedserver @server = N'JDE'
 , @srvproduct = N'DB2OLEDB'
 , @provider = N'DB2OLEDB'
 , @datasrc = N'192.168.x.x'
 , @provstr = N'Provider=DB2OLEDB;
 User ID=########;
Password=########;
Initial Catalog=S06822B5;
Network Transport Library=TCPIP;
Host CCSID=37;
PC Code Page=1252;
Network Address=192.168.x.x;
 Network Port=446;
Package Collection=QGPL;
Default Schema=CRDDTA;
Process Binary as Character=True;
Units of Work=RUW;
DBMS Platform=DB2/AS400;
Use Early Metadata=False;
 Defer Prepare=False;
DateTime As Char=False;
Rowset Cache Size=0;
Datetime As Date=False;
AutoCommit=True;
Authentication=Server;
Decimal As Numeric=False;
 Derive Parameters=True;
LoadBalancing=False;
Persist Security Info=False;
Cache Authentication=False;
Mode=Read;
Connection Pooling=False;'
 , @catalog = N'S06822B5' 
/* For security reasons the linked server remote logins password is changed with ######## */

 exec master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'JDE'
 , @useself = N'False'
 , @locallogin = null
 , @rmtuser = N'connect'
 , @rmtpassword = '########'

1 个答案:

答案 0 :(得分:0)

建议:对于正确的连接字符串和SQL Server版本,请使用DB2OLEDBV6_x64.msi作为SQL SERVER 2016 SP2 Feature Pack的一部分