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一下