ErikEJ の SQL Server Compact/SQLite Toolbox for Visual Studio を使用しています。環境は、Visual Studio 2013.5 を搭載した Windows 7 x64 です。
私はブログhttp://erikej.blogspot.dk/2013/11/entity-framework-6-sql-server-compact-4_25.htmlの例に従っていますが、
" ... プロジェクト フォルダ内のデータベース ファイルに接続します:",
[SQL Server Compact/SQLite 接続の追加] を右クリックすると、ボックスが表示されますが、下部が赤くなっています
「この接続を EF6 ツールで使用するために保存できません。SQL Server Compact DbProvider がインストールされていることを確認し、可能であれば Visual Studio を再起動してください」
戻って [About] ボタンをクリックすると、
SQL Server Compact 4.0 in GAC - Yes - 4.0.8482.1
SQL Server Conpact 4.0 DbProvider - No
SQL Server Compact 4.0 DDEX provider - No
SQL Server Compact 4.0 Simple DDEX provider - Yes
SQL Server Compact 4.0 Engine Test: PASS!
SQL Server Compact と SQL Server Compact Toolbox をアンインストールし、両方を再インストールしましたが、同じエラーが引き続き発生します。
SQL Server Compact 4.0 DbProvider を yes にする方法を教えてください。
ありがとう
編集無効なエントリを含む可能性のある machine.config の関連部分の詳細を追加しました。
<system.data>
<DbProviderFactories>
<add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/></DbProviderFactories>
</system.data>
上記をhttps://developer.teradata.com/blog/netfx/2010/12/dbproviderfactories-demystifiedの例と照らし合わせて確認しましたが、その部分に明らかに問題があることはわかりません。
あはは。私は間違った場所を探していました。C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config の下に
<system.data>
<DbProviderFactories><add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/></DbProviderFactories>
</system.data>
うーん...他のものはありません。