2011-01-21 120 views
0

我試圖連接到CompactEdiction數據庫文件時出現錯誤,提示符無法在我的客戶端應用程序中找到。當我在安裝了sql server 2008的開發機器上測試這個應用時,一切都很好。連接到CE數據庫的問題

安裝了.net(3.5和4.0)和sp3(windows xp)。你知道我錯過了什麼嗎?有問題與供應商...

在應用程序目錄中有文件複製:

System.Data.SqlServerCe.dll 
System.Data.SqlServerCe.Entity.dll 
sqlceca35.dll 
sqlcecompact35.dll 
sqlceer35EN.dll 
sqlceme35.dll 
sqlceoledb35.dll 
sqlceqp35.dll 
sqlcese35.dll 

在應用程序配置我有這樣的條目:

<configuration> 
    <system.data> 
      <DbProviderFactories> 
       <remove invariant="System.Data.SqlServerCe.3.5"/> 
       <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral"/> 
      </DbProviderFactories> 
     </system.data> 

錯誤是:

error 0004: Could not load System.Data.SqlServerCe.Entity.dll. Reinstall SQL Server Compact 

,不應該被安裝的服務器,這就是要求

當在了AppConfig沒有條目的錯誤信息是:

The specified store provider cannot be found in the configuration, or is not valid. ---> System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed. 
    at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) 
    at System.Data.EntityClient.EntityConnection.GetFactory(String providerString) 

在連接字符串提供商:

provider=System.Data.SqlServerCe.3.5 
+0

要從頭開始:連接字符串中列出了哪個提供程序? – 2011-01-21 12:20:10

+0

我編輯了我的問題來回答你的評論:) – gruber 2011-01-21 12:38:41

回答

0

你確保沒有更多的SQL Compact需要複製的DLL?

另外還有一個SQL Compact的新版本,我認爲4.0版本 - 也許它會幫助升級到那個版本。這是一個長鏡頭,但你永遠不知道;)

編輯: 看看這個網站:http://msdn.microsoft.com/en-us/library/aa983326.aspx它指出,有就是七個dll文件複製過來。