2011-08-25 98 views
0

我在MS SQL SERVER 2008上使用Sybase ASE 12.5數據庫添加了鏈接服務器, 一切正常,但是我遇到了unicode字符串的問題。MS SQL SERVER和Sybase之間的鏈接連接,Unicode問題

從MS SQL我'運行 當 「SELECT * FROM OPENQUERY(SYTEST, 'SELECT名稱從產品')」 和結果集包含錯誤的字符

一個?> ??一??一一個? a?「
a?a?a??a?a?一個??

Sybase中的名稱列是nvarchar類型,名稱是用unicode編寫的。

只有當ms sql server在windows server操作系統上運行時,纔會出現問題 在Windows 7和XP上運行的ms sql-server上沒有問題,我得到了正確的結果。

回答

0

如果它工作在2個獨立的安裝,你比較和使用sp_serveroption,檢查鏈接的服務器設置,尤其是collation compatiblecollation name

如果這些是相同的,在OS檢查任何DSN和Sybase驅動程序設置

+0

沒有改變的情況,有沒有什麼想法?順便說一下,驅動程序是:Adaptive Server Enterprise驅動程序版本15.5.0.8000 驅動程序ODBC版本03.51 – alekoo73

1

嘗試使用N @參數進行查詢時

+0

您可以將此擴展爲完整答案嗎? – hexafraction

0

在我的公司有這樣的情況 我創建了從SQL Server 2014到IBM AS/400(i系列)的鏈接服務器並面對相同問題。

我不確定2014年和2008年處理unicode字符的不同,但我認爲它沒有太多,如果有的話。


2.如何

1.登錄到SQL工作室右擊,然後鏈接服務器選擇「屬性」
3.在左窗格中
4.集中選擇「服務器選項」「使用遠程排序規則」「真」
5. 「歸類名」,選擇你的unicode (這裏是基本列表 - https://technet.microsoft.com/en-us/library/ms180175%28v=sql.105%29.aspx

我的問題通過這種方式解決! (我玩了很多連接字符串,沒有想要的結果)