私は取得しています
"データベース タイプのインスタンス、キー """ を取得しようとしたときにアクティベーション エラーが発生しました
DatabaseFactory.CreateDatabase()
既定のデータベースを SQL Server CE に参照するたびに例外が発生する
問題が私の .dll 参照だけであるかどうかを確認しようとしましたが、実際の SQL Server 2008 データベースにまだ接続できたため、間違っていることが証明できました。
これが私の設定です:
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"/>
</configSections>
<dataConfiguration defaultDatabase="sqlCEDB"/>
<connectionStrings>
<add name="sqlCEDB"
connectionString="Data Source=|DataDirectory|\sqlCEDB.sdf;Password='somepassword'"
providerName="Microsoft.SqlServerCe.Client.3.5" />
</connectionStrings>
データベースインスタンスを作成する方法は次のとおりです。
private Database db;
protected internal Database DB
{
get
{
if (db == null)
db = DatabaseFactory.CreateDatabase();
return db;
}
}
解決
構成プロパティの変更が解決されました: providerName="System.Data.SqlServerCe.3.5"