我有一個問題,我正在嘗試解決。我們有一個運行商業ERP系統的SQL Server 2005。這意味着我們不能更改數據庫結構,並且所有字符字段都是CHAR或VARCHAR,而不是Unicode類型(NCHAR,NVARCHAR)。SQL Server 2005 CodePage問題
我們還有多個基於國家的ERP軟件實例。每個國家在同一個數據庫服務器上都有它自己的數據庫,這會導致表名稱根據正在運行的ERP軟件實例發生變化。例如,美國客戶表名爲US_CUSTOMER,英國客戶名爲GB_CUSTOMER。我們已經創建了一個單獨的數據庫,它基本上用同義詞反映ERP系統表,然後創建一個視圖來處理我們對這些同義詞的所有SQL事務。這是爲了使用LINQ TO SQL。感謝您閱讀本文:)
我們現在面臨的問題是我們現在正在爲應用程序實現簡體中文。在客戶ERP系統中,他們爲ERP系統設置代碼頁,以便當ERP系統寫入基表時,數據被寫爲多字節。我的問題是如何將這個多字節信息翻譯回簡體中文?我希望能夠在數據庫級別執行此操作,因爲我同時擁有需要利用它的Web應用程序和SSRS報告。
任何想法或方向?我不認爲我可以更改代碼頁,因爲多個國家正在使用相同的數據庫服務器(儘管不同的數據庫)。
由於時間
是的,兩個varchar字符存儲1個unicode字符。 – 2010-01-05 21:02:59
演員我不認爲它會奏效。它會將多字節集中的每個單獨字節轉換爲與其相同的unicode。正確的翻譯是通過「MultiByteToWideChar」http://msdn.microsoft.com/en-us/library/cc500362.aspx,我不認爲這個功能可用作T-SQL – 2010-01-05 21:16:28
@Remus:它是一個無論如何,長鏡頭,,, – gbn 2010-01-05 21:43:55