MSSQ远程-本地数据库排序规则冲突处置

2台MSSQL数据库服务器通过链接服务器进行数据交互。2台数据库服务器之间的编码规则是不一样的。在进行数据匹配的时候,报:无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_BIN" 之间的排序规则冲突:

检查链接服务器设置;

将排序规则兼容设置为“否”、使用远程排序规则设置为“False”,手动确定本地数据库的排序规则名称,确定

故障消失,但是数据拉取异常缓慢,性能开销非常大,这种在实际应用中不太可行。

换一种思路,在SQL语句中,如下:

select convert(nvarchar(10),TG002) collate Chinese_PRC_CI_AS FWA8SRL--销货单号
,convert(nvarchar(10),TG001) FWPG5LV--销货单别,--销货单别
,convert(float,TG013+TG025) FCGL3HZ--金额
,convert(nvarchar(20),TG004) collate Chinese_PRC_CI_AS FJXSUTY--客户编号
 from [10.10.10.1].[XXXX].[dbo].[COPTG]

对取到的值需要和目标系统进行数据匹配的,对取到的目标值进行强制collate Chinese_PRC_CI_AS排序规则定义。

经测试,这种方法对取数性能、数据匹配不存在其他异常影响。

在此MARK一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章