顯示具有 sql server compact edition 標籤的文章。 顯示所有文章
顯示具有 sql server compact edition 標籤的文章。 顯示所有文章

2014年3月17日 星期一

ASP.NET 使用 SqlCeConnection 例外 NotSupportedException : SQL Server Compact 並非設計供ASP.NET 開發使用。

在 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

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 啦!
請至 Microsoft Download Center 下載。3.5版4.0版



相關參考
SQL Server CE 4.0 deployment issue--which files are necessary?