簡體   English   中英

SQL Compact Edition 3.5 - 不允許訪問數據庫文件

[英]SQL Compact Edition 3.5 - Access to the database file is not allowed

我使用SQL Server Compact 3.5開發了一個應用程序(100%本地,無法訪問服務器),它在我的計算機上運行良好。 但是,當我在另一台計算機上部署它時,它顯示以下錯誤:

Access to the database file is not allowed. [ File name = data\BDApepucCE.sdf ]

我部署在Windows XP計算機上。 每當我嘗試在數據庫上寫入時它都會顯示此錯誤,但是,當我閱讀時它會起作用。

我在Windows 7計算機上進行了測試,它工作率為100%,除非通過家庭組(即本地網絡)訪問該文件,但在讀取/寫入時它都失敗了。

平台:Windows 7,Visual Studio 2010和.NET 4 Client Profile

確保使用|DataDirectory| 在你的連接字符串中。 這是一個例子

connectionString="Data Source=|DataDirectory|MyDB.sdf"

我有完全相同的問題你和我設法通過添加| DataDirectory |來解決它 到我的連接字符串。

祝好運。

這對我有用: http//solutionevangelist.com/community/discussion/20/access-to-the-database-file-is-not-allowed.-system.data.sqlserverce.sqlceexception/p1

它通常是一個權限問題。 我通過GUI或使用,為App_Data中的.sdf文件賦予“Everyone”完全權限

 icacls database.sdf /grant Everyone:F 

我也有同樣的問題。 我的解決方案是在我部署它並且sdf文件簽入(即只讀)時在TFS / SourceControl中,這導致了與上面完全相同的錯誤。 當我檢出sdf文件並再次部署時,一切都很好。 我想如果其他TFS用戶遇到同樣的問題我會分享。

以下是另外兩條建議:

  • 嘗試以管理員身份運行Visual Studio
  • 檢查sdf文件上是否設置了'readonly'屬性

此外,您可能需要檢查並查看您的應用程序池是否正在使用網絡服務(而不是應用程序池),並且網絡服務權限設置為您的AppData文件夾下的完全控制。 這是我前一段時間的問題而且我忘了我是怎么做到的,但是這個問題讓我想起了我是怎么做到的。

您只需要在IIS菜單“Web服務擴展”下允許“服務器端包含”

這解決了我所有的問題。

以下解決方案適合我:

Windows中的“程序文件”受到保護,因此普通用戶無法在那里寫入,您的應用程序可能只能與管理員用戶一起使用。

將數據庫的數據文件夾路徑更改為所有用戶都有權寫入的位置。

這不是典型的原因,但是當我的連接字符串具有到CE SDF文件的錯誤路徑時,我遇到了此錯誤消息。 一旦我修復了錯誤就消失了。

只需以管理員身份運行您的應用 我用這個解決了我的問題。

暫無
暫無

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

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