我正在使用ErikEJ的Visual Studio的SQL Server Compact/SQLite工具箱。環境是Windows 7 64位與Visual Studio 2013.5SQL Server Compact 4.0 DbProvider - 否
我在例如,沿着下面的博客http://erikej.blogspot.dk/2013/11/entity-framework-6-sql-server-compact-4_25.html但是當我到達
「...連接到數據庫文件在項目文件夾:」,
我右鍵點擊「添加的SQL Server Compact/SQLite的連接」,在盒子裏,但在底部是紅色
「不能保存此連接使用EF6工具的使用,確保在SQL Server緊湊型DbProvider已安裝,並可能重新啓動Visual Studio「
我回去,然後點擊關於按鈕,並得到
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精簡版和SQL Server精簡工具箱並重新安裝兩個,但我仍然有同樣的錯誤。
我想知道如何獲得SQL Server Compact 4.0 DbProvider是嗎?
感謝
編輯 我已經添加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 \框架\ 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>
嗯...其他的人失蹤。
刪除並重新安裝的SQL Server Compact 4.0,以更新machine.config文件 – ErikEJ
謝謝爲您的快速反應! 我關閉了VS2013,去控制面板卸載「Microsoft SQL Server Compact 4.0 x64 ENU」。安裝「Microsoft SQL Server Compact 4.0 x64 ENU」。打開VS2013。 SQL Server Compact Toolbox仍然說DbProvider爲 我只是要去google machine.config! – Alan
您的x86 machine.config可能在dbproviderfactories部分有無效條目 – ErikEJ