2014-01-28 65 views
0

我想通過VBA訪問加密的SQL Server Compact Edition數據庫。我可以訪問數據庫罰款時,沒有被加密,但代碼打破了,當我嘗試使用密碼:我可以在Excel VBA中訪問加密的SQL Server Compact數據庫嗎?

pConn.ConnectionString = "PROVIDER=Microsoft.SQLSERVER.CE.OLEDB.3.5;Password=[my_password];Data Source=" & SdfPath 

我一直在關注的connection string example provided here爲SQL Server契約密碼:

啓用加密

使用此連接字符串啓用數據庫加密。

數據源= MyData.sdf;加密數據庫= TRUE;密碼= MYPASSWORD; 文件模式=共享讀取;持續安全信息=假;

加密數據庫=「真」對實際上並不是必須的,因爲密碼參數的存在本身會爲連接啓用加密。

但爲什麼不這項工作在2010年的Excel VBA?

回答

1

顯然,我用的是站點的連接字符串的例子是不正確。我發現correct connection string example from Microsoft

使用Microsoft的ActiveX數據對象的Windows CE(ADOCE),Microsoft ActiveX數據對象的數據定義語言(DDL)和安全(ADOXCE)擴展,或複製對象 創建在連接字符串中數據庫密碼連接屬性:使用無論是ADOCE或ADOXCE目錄對象,或SQL Server CE複製ActiveX對象的AddSubscription方法,您必須指定提供者特有的SSCE密碼保護的數據庫。例如:

「提供者= Microsoft.SQLSERVER.OLEDB.CE.2.0;數據源= \ NorthWind.sdf; SSCE:數據庫密碼= [MYPASSWORD]

所以現在我的代碼是:

pConn.ConnectionString = "PROVIDER=Microsoft.SQLSERVER.CE.OLEDB.3.5;SSCE:Database Password=[my_password];Data Source=" & SdfPath 

這對我來說非常合適。

0

如果您安裝了SQL Server Compact 4.0並在連接字符串中使用「Microsoft.SQLSERVER.CE.OLEDB.2.0」或「Microsoft.SQLSERVER.CE.OLEDB.3.5」作爲提供程序,那麼您將得到一個錯誤提及的提供程序未找到。更改連接字符串以反映到「Microsoft.SQLSERVER.CE.OLEDB.4.0」。

相關問題