2011-12-12 61 views
1

我有一個用C#編寫的Windows窗體應用程序,它運行在具有SQL compact 4數據庫的Windows XP機器上。操作系統語言是簡體中文。 我正面臨一個奇怪的例外。 「指定的區域設置未安裝在本機上,請確保安裝了相應的語言包。LCID 1053」 爲什麼? 該應用程序在所有其他配置/語言上都可以正常工作。SQL compact 4異常

回答

2

這是瑞典的語言環境。您可以通過修改連接字符串更改地區:

http://msdn.microsoft.com/en-us/library/ms174034.aspx

所以它會是這樣的

conString = 「...;區域設置標識符= XXXX; ...」

其中XXXX可以在此表中找到:http://msdn.microsoft.com/en-us/goglobal/bb964664

+0

感謝您的回答!但我仍然得到相同的錯誤... – Francesco

+0

拋出的錯誤在哪裏?你能顯示該部分的源代碼嗎? (如果它是連接字符串,當然不要發佈pwd) – MatthewMartin

1

我在win8的4.0版本創建了同樣的問題自衛隊與它並不在XP中工作。

然後我用以下C#代碼修復了數據庫,現在它在兩個操作系統中都可以使用。

SqlCeEngine se = new SqlCeEngine(@"Data Source=|DataDirectory|\mydatabase1.sdf;Persist Security Info=False;"); 
se.Repair(@"Data Source=|DataDirectory|\mydatabase1.sdf;Persist Security Info=False;", RepairOption.RecoverAllOrFail);