在 ASP.NET 中使用 SqlCeConnection (3.5) 出現如下圖例外
◎方法一
只要在使用 SqlCeConnection 前加上下面這行即可
AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);
建議可加在 Global.asax 的 Application_Start 中,讓這行執行一次就可以了
◎方法二
使用 SqlCeConnection 4 或更高版本可避免此問題
但如果 sdf 是由舊版的 SQLCE 產生就只能繼續用 SqlCeConnection 3.5 了
參考 Exception when trying to connect to .sdf database
2014年3月17日 星期一
2013年5月1日 星期三
C# SqlCeConnection 無法使用 ? 沒有 System.Data.SqlServerCe namespace ?
在 C# 中要對 SQL Server Comapact Edition 進行連線,需要使用 SqlCeConnection 來幫忙,參考 MSDN『SqlCeConnection 類別』內容說明,SqlCeConnection 存在 System.Data.SqlServerCe 該 namespace 下
但直接 using 會顯示『命名空間 'System.Data' 中沒有型別或命名空間名稱 'SqlServerCe' (您是否遺漏了組件參考?)』
看來似乎是沒有預設參考這東西,需要自行加入參考,據 MSDN 說明文件指出,該組件存在 system.data.sqlserverce.dll,其路徑為 『C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Desktop\System.Data.SqlServerCe.dll』,視版本,4.0 存在『C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll』,只要將這個 DLL 加入參考就可以正常使用了。
32位元版則在『C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Desktop\System.Data.SqlServerCe.dll』與『C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll』
若找不到以上所述路徑,代表你的電腦沒有裝 SQLCE 啦!
相關參考
SQL Server CE 4.0 deployment issue--which files are necessary?
訂閱:
文章 (Atom)


