I'll be back!

            Focus on BPM, celebrate PegaRULES Process Commander (PRPC)
          posts - 76, comments - 161, trackbacks - 0, articles - 2
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          無(wú)法解決 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之間的排序規(guī)則沖突。
          Cannot resolve the collation conflict between SQL_Latin1_General_CP1_CI_AS and Finnish_Swedish_CI_AS in the equal to operation.

          網(wǎng)上有很多解決辦法,但基本上都要改動(dòng)SQL語(yǔ)句。

          工作中,從國(guó)外得到一個(gè)MS SQL Server 2005的備份文件,打算把他還原到本地服務(wù)器使用里面的數(shù)據(jù)。

          本地操作系統(tǒng)是MS Windows XP Professional 英文版,安裝了MS SQL Server 2005 開(kāi)發(fā)版,還原數(shù)據(jù)庫(kù)后,運(yùn)行數(shù)據(jù)出現(xiàn)錯(cuò)誤如下:
          “無(wú)法解決 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之間的排序規(guī)則沖突。”

          檢查數(shù)據(jù)庫(kù)發(fā)現(xiàn):SQL Server 2005服務(wù)器的排序規(guī)則是"Chinese_PRC_CI_AS",而數(shù)據(jù)庫(kù)的排序規(guī)則是"SQL_Latin1_General_CP1_CI_AS",在網(wǎng)上查詢得知,原因是這兩種排序規(guī)則不統(tǒng)一所致。我嘗試過(guò)兩種方法讓他們統(tǒng)一,但結(jié)果都無(wú)效:
          1。 更改數(shù)據(jù)庫(kù)的排序規(guī)則為"Chinese_PRC_CI_AS"。通過(guò)SQL Server Management Studio圖形界面Property-Options-Collaction或SQL語(yǔ)句“ALTER DATABAS [DBName] COLLATE Chinese_PRC_CI_AS”更改無(wú)效。
          2。 重構(gòu)數(shù)據(jù)庫(kù)“setup.exe /qn INSTANCENAME=SQL2005 REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=sa2005 SQLCOLLATION=SQL_Latin1_General_CP1_CI_AS” 方法無(wú)效。

          后來(lái)研究了很多種方法,如下載SQL Server 2005企業(yè)版安裝,但是企業(yè)版不適合安裝在XP Professional系統(tǒng)上,以失敗告終。

          最后實(shí)在沒(méi)辦法,決定在此重裝SQL Server,推測(cè)原因最可能還是本地系統(tǒng)使用了中文的排序規(guī)則,必須讓本Server的地排序規(guī)則安裝的時(shí)候就設(shè)置成"SQL_Latin1_General_CP1_CI_AS",即在純英文操作系統(tǒng)下安裝SQL Server 2005,后來(lái)實(shí)驗(yàn)成功。具體方法如下:
          1。 盡管我的操作系統(tǒng)是XP系統(tǒng),但是“區(qū)域語(yǔ)言設(shè)置”中全部設(shè)置為中文了,當(dāng)前系統(tǒng)和中文操作系統(tǒng)無(wú)異。要讓SQL Server 2005順利安裝,需要將所有“區(qū)域語(yǔ)言設(shè)置”都切換成英語(yǔ)(美國(guó)),這個(gè)在中文操作系統(tǒng)中也應(yīng)該有效。
          2。 安裝MS SQL Server 2005,到“排序規(guī)則設(shè)置”界面時(shí),系統(tǒng)默認(rèn)選擇的是以下拉框的形式選擇排序規(guī)則的選項(xiàng),英文狀態(tài)下應(yīng)該默認(rèn)是“Latin1_General”,切忌不要選擇這個(gè)排序規(guī)則,需要選擇的是第二個(gè)單選框:SQL排序規(guī)則(用于確保與舊版本的SQL Server兼容) 這個(gè)選項(xiàng),在列表中選擇“字典順序,不區(qū)分大小寫(xiě),用于1252字符集。”就ok了,這就是傳說(shuō)中的"SQL_Latin1_General_CP1_CI_AS"字符集,即英文字符集。

          SQL Server安裝好后,打開(kāi)SQL Server Management Studio界面查看Server的排序規(guī)則,確認(rèn)為"SQL_Latin1_General_CP1_CI_AS",重新導(dǎo)入外來(lái)備份文件,大功告成!


          評(píng)論

          # re: 無(wú)法解決 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之間的排序規(guī)則沖突  回復(fù)  更多評(píng)論   

          2010-06-21 10:48 by 18傲骨中文
          數(shù)據(jù)庫(kù)就是令人頭大

          # re: 無(wú)法解決 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之間的排序規(guī)則沖突  回復(fù)  更多評(píng)論   

          2010-07-14 08:49 by MICKLI
          ALTER DATABASE [DBName] COLLATE Chinese_PRC_CI_AS需要在單用戶模式下執(zhí)行

          ALTER DATABASE [DBName] SINGLE_USER WITH ROLLBACK IMMEDIATE;

          # re: 無(wú)法解決 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之間的排序規(guī)則沖突  回復(fù)  更多評(píng)論   

          2011-12-28 11:01 by stalwartwill
          暈,現(xiàn)在我的機(jī)器上需要用兩個(gè)數(shù)據(jù)庫(kù),但兩個(gè)數(shù)據(jù)庫(kù)需要的排序規(guī)則不一樣。。。。

          # re: 無(wú)法解決 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之間的排序規(guī)則沖突  回復(fù)  更多評(píng)論   

          2014-10-20 18:01 by 勇敢的心
          FROM A INNER JOIN
          B ON (A.CODE BETWEEN B.From collate SQL_Latin1_General_CP850_BIN AND B.To collate SQL_Latin1_General_CP850_BIN )
          AND (A.[NO] BETWEEN B.From collate SQL_Latin1_General_CP850_BIN AND B.To collate SQL_Latin1_General_CP850_BIN)

          字段后面加上更改后的排序規(guī)則即可
          collate SQL_Latin1_General_CP850_BIN

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 泰兴市| 武胜县| 山阳县| 广宁县| 黎城县| 卓资县| 栾城县| 衡阳市| 济宁市| 青河县| 呼图壁县| 德安县| 汕头市| 南充市| 普兰店市| 奈曼旗| 花垣县| 通许县| 巴彦淖尔市| 抚顺县| 台安县| 南漳县| 桦川县| 苏州市| 长武县| 宜川县| 新野县| 台北市| 鄂伦春自治旗| 望城县| 紫阳县| 六安市| 迭部县| 中卫市| 金乡县| 西吉县| 鹤峰县| 大足县| 肥东县| 福建省| 醴陵市|