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

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