當我連接到.sdf
文件時,出現"Permission denied"
異常。Win XP上的SQL Server CE權限被拒絕
我正在使用此連接字符串。
connection string="Data Source=|DataDirectory|\DB.sdf;Password='something';Mode = Read Only;Temp Path= Environment.GetFolderPath(Environment.SpecialFolder.Templates);Persist Security Info=True"" providerName="System.Data.EntityClient" />
這是在Win 7的工作正常,但當我在Win XP上運行我的應用程序,它返回
權限被拒絕
例外
我嘗試了不同的地址對於臨時文件但它仍然失敗。所有這些選項都是真實的
- 數據庫文件的路徑存在XP的機器
- 我有權在給定 目錄
- 我提供正確的密碼,以創建一個臨時文件上。
這個問題只是發生在數據庫連接字符串設置爲只讀only.i找到了一些解決方案,但我不能使用它們:
解決方案1:
這裏是在這個舀。當我們將SDF文件從XP移動到Vista時,由於NLS版本發生變化,我們嘗試以 讀寫模式打開文件,以重寫索引(如果存在)。從XP到Vista的第一次開放時,這種情況只發生在 。因此,一個簡單的工作 左右是暫時將文件更改爲讀寫模式 在Vista上打開它並將其恢復爲只讀。
我無法使用此解決方案,因爲我的應用程序是從DVD運行的。具有3個SDF文件,一個用於XP/Server 2003和一個爲Vista /服務器 2008/Win7和一個勝8
這也:
解決方案2可怕的,因爲我沒有應用程序DVD上的可用空間來做到這一點。
任何人都有一個好主意來解決這個問題。
除非您操作DataDirectory,否則數據庫將駐留在Program Files文件夾中,該文件夾僅由普通用戶默認讀取。 – ErikEJ
@ErikEJ:我嘗試了其他驅動器的不同文件夾,但不工作 – KF2