我使用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 = '########'
答案 0 :(得分:0)
建议:对于正确的连接字符串和SQL Server版本,请使用DB2OLEDBV6_x64.msi作为SQL SERVER 2016 SP2 Feature Pack的一部分