2012-10-12 122 views
2

當試圖連接到SQL Server CE 4.0(SqlServerCe.dll, v2.0.50727),我得到一個異常(System.Data.Common.DbException)說:異常連接到SQL Server CE 4.0

的CRT二進制存在於應用程序/ bin文件夾沒有簽名和 可能是潛在的安全風險。請將原始Microsoft CRT二進制文件放入應用程序/ bin文件夾中。

  • Windows 7的
  • Visual Studio 2010中
  • .NET 4.0

所有文件從microsoft.com

string localDataFile = Path.Combine(dataPath, "StorageData.sdf"); 
var connectionString = String.Format("Data Source={0}", localDataFile); 

if (!File.Exists(localDataFile)) 
{ 
    SqlCeEngine engine = new SqlCeEngine(connectionString); 
    engine.CreateDatabase(); 
    engine.Dispose(); 
} 

var connection = new SqlCeConnection(connectionString); <----Here the exception occures 
StorageContext context = new StorageContext(connection); 

return context; 

系統下載

有什麼想法?

UPDATE: 重新安裝下列文件已經解決了這一問題:

感謝試圖幫助!

+0

連接字符串是什麼樣的?在異常發生之前,你可以在調試器中檢查該行嗎? –

+0

你在使用私人部署嗎? – ErikEJ

+0

連接字符串如下所示:Data Source = \\ 172.32.234.51 \ Files \ Archive_CentralStorage \ ARC_Storage01 \ _Info \ StorageData.sdf – Markus

回答

0

我今天遇到了這個錯誤,同時幫助我們的客戶之一,在我們的軟件有問題:

的CRT二進制存在於應用程序/ bin文件夾沒有簽名,可以 是一個潛在的安全風險。請將原始Microsoft CRT 二進制文件放入應用程序/ bin文件夾中。

我們的軟件試圖創建和初始化Windows CE數據庫。

HKEY_CURRENT_USER \軟件\微軟\的Windows \ CurrentVersion \ WinTrust \信任供給者\軟件發佈

我尋找價值「狀態:我通過設置由this Microsoft KB article描述的以下注冊表項繞過問題」。它不存在,所以我創建了一個DWORD值並將其設置爲23e00。這與Internet選項/高級設置「檢查發行者證書吊銷」相對應,取消選中(請參閱上面鏈接的知識庫文章)。

這可能不是您或其他讀者的最佳解決方案,但我想將其記錄下來供將來參考。