簡體   English   中英

您正在嘗試訪問SQL Server Compact Edition數據庫的舊版本

[英]You are trying to access an older version of a SQL Server Compact Edition database

嘗試打開連接時出現錯誤。 我的DB.sdf文件在我的應用程序文件夾中

我在這里存儲了db.sdf

{

string ConnectionString=  new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + @"\APP_DATA\DB.sdf";


public int ExecuteNonQuery(string query){

        int res = -1;
        try
        {                
            using (SqlCeConnection conn = new SqlCeConnection(ConnectionString))
            {
                SqlCeCommand command = new SqlCeCommand(query, conn);
                command.CommandType = CommandType.Text;
                conn.Open();
                res = command.ExecuteNonQuery();
            }
        }
        catch (Exception e)
        {
            new Logs().TraceProcessError(e.Message);
        }
        return res;
    }

}

錯誤:

您正在嘗試訪問SQL Server Compact Edition數據庫的舊版本。 如果這是SQL Server CE 1.0或2.0數據庫,請運行upgrade.exe。 如果這是SQL Server Compact Edition 3.0或更高版本的數據庫,請運行“壓縮/修復”。 [Db版本= 3505053,請求的版本= 3004180,文件名= D:\\ DB.sdf]“

我正在使用SQL Server Compact 3.5,VS2010,SQLServer 2008R2。

請幫忙。 謝謝。

確保您(1)知道數據庫是哪個版本的SQL Server CE,以及​​(2)從與該SQL CE版本匹配的項目中引用了相應的System.Data.SqlServerCe.DLL

從此處下載SQL Server緊湊型工具箱

https://sqlcetoolbox.codeplex.com/

針對您的數據庫文件運行它,並記下版本號(例如3.5)

進入Visual Studio,在資源下單擊System.Data.SqlServerCe,然后在屬性下單擊。 在屬性中記下版本號(例如3.0)

庫版本號是否較舊。 下載SQL Server Compact安裝程序並運行。 http://www.microsoft.com/en-IE/download/details.aspx?id=12264

安裝完成后。 從您的項目中刪除對System.Data.SqlServerCe和System.Data.SqlClient的引用,並添加它們等效的3.5版本。 在我的系統上找到。

C:\\ Program Files(x86)\\ Microsoft SQL Server Compact Edition \\ v3.5 \\ Devices \\ System.Data.SqlServerCe.dll

C:\\ Program Files(x86)\\ Microsoft SQL Server Compact Edition \\ v3.5 \\ Devices \\ Client \\ System.Data.SqlClient.dll

清理,然后重建。 就像我在評論中提到的那樣,它在VS 2008上的某個時候本身就很不安全,因此如果再次遇到錯誤,請再次檢查路徑是否指向上面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM