【问题标题】:Unable to write to database but able to read无法写入数据库但能够读取
【发布时间】:2013-02-17 08:55:11
【问题描述】:

在我的 windows 窗体应用程序中,我已在项目中放置了数据库。

但我无法将任何内容写入数据库。我的winforms可以读取数据库的所有内容。

我该如何解决这个问题?

目前数据库位于以下位置:

C:\Users\Amrit\Documents\Visual Studio 2012\Projects\Purchase Management\Purchase Management\Resources\App_Data

app.config 文件中我有这个配置:

<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="Database" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Resources\App_Data\Database.accdb;Persist Security Info=False;"
            providerName="System.Data.OleDb" />
        <add name="Purchase_Management.Properties.Settings.DatabaseConnectionString"
            connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Resources\App_Data\Database.accdb"
            providerName="System.Data.OleDb" />
    </connectionStrings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

我正在使用这个从类中访问数据库;

string connString = ConfigurationManager.ConnectionStrings["Database"].ConnectionString;

【问题讨论】:

  • 那么当你尝试写作时会发生什么?
  • 数据库中的用户是否有写权限?
  • 根项目文件夹说只读。但即使我删除只读并回来检查,它再次变为只读
  • @AmritSharma 你可以写入数据库吗?作为用户?
  • 不。如果我把我的数据库放在桌面上,我可以写,但如果我把它放在项目文件夹中,我不能

标签: c# winforms connection-string readonly


【解决方案1】:

我认为,SQL File Writer 服务对该文件夹没有写入权限。 您可以设置 ACL 或更改文件夹。

【讨论】: