【发布时间】:2014-07-30 08:29:38
【问题描述】:
我有一个到 IBM AS400 DB2 数据库的 SQL Server 2012 企业版链接服务器连接。
我正在使用IBMDASQL 提供程序进行连接。
我遇到了一些匈牙利字符的问题:字母 Ő 在选择过程中转换为 O。
在此示例中,name_converted 列将正常,Ő 字母仍为 Ő。
名称列将转换为O。
SELECT * FROM openquery (g,
SELECT
cast(name as char(35) ccsid 870) as name_converted,
name,
FROM libr.mytable')
我的问题是:我可以创建链接服务器,以便所有角色都使用 CCSID 870?
EXEC master.dbo.sp_addlinkedserver @server = N'G', @srvproduct = N'HUN00101', @provider = N'IBMDASQL', @datasrc = N'HUN00101'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'G', @useself=N'False',
@locallogin=NULL, @rmtuser=N'query', @rmtpassword='########'
GO
EXEC master.dbo.sp_serveroption @server = N'G', @optname = N'collation compatible',
@optvalue = N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'data access', @optvalue=N'true' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'dist', @optvalue=N'false' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'pub', @optvalue=N'false' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'rpc', @optvalue=N'false' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'rpc out', @optvalue=N'false' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'sub', @optvalue=N'false' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'connect timeout', @optvalue=N'0' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'collation name', @optvalue=null GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'lazy schema validation', @optvalue=N'false' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'query timeout', @optvalue=N'0' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'use remote collation', @optvalue=N'true' GO
EXEC master.dbo.sp_serveroption @server=N'G', @optname=N'remote proc transaction promotion', @optvalue=N'true' GO
谢谢
【问题讨论】:
-
在此链接上:sqlteam.com/forums/topic.asp?TOPIC_ID=151072 我发现主机 CCSID=37;PC 代码页=850。我可以以某种方式将其构建到链接服务器连接中吗?
标签: sql-server db2 linked-server db2-400