【问题标题】:Sqlite connection string in web.configweb.config 中的 Sqlite 连接字符串
【发布时间】:2011-12-21 22:04:47
【问题描述】:

我已将我的 web 项目发布到本地 iis,但框架找不到“db”文件。在调试中没有问题,我可以连接,但在 localhost 我不能。这是我的连接字符串:

<connectionStrings>
    <add name="PROD" connectionString="data source=app.db;" providerName="System.Data.SQLite"/>
  </connectionStrings>

我尝试了所有“../app.db”“direct_path”“~/app.db”

可能有什么问题?


它可以在 D:\ 驱动器或 inetpub 驱动器以外的驱动器中找到数据库。我不明白这是否是权限问题。我怎样才能找到确切的解决方案?

【问题讨论】:

    标签: asp.net sqlite iis-7


    【解决方案1】:

    嗯,我得到了 System.AppDomain.CurrentDomain.BaseDirectory 的物理路径,然后找到 sqlite 文件的路径。成功了!

    【讨论】:

      【解决方案2】:

      这很可能是权限问题。这在调试时有效,因为该网站在您的凭据下运行并且您可以完全控制。部署时,它在 IIS_USRS 下运行,这是高度限制的,并且很可能默认情况下没有对文件的写入权限。

      为 IIS_USRS 帐户提供目录/文件的读/写权限,这应该可以工作。

      【讨论】:

      • 我给了文件/文件夹的所有权限,但没有希望。
      • data source = |DataDirectory|app.db 是我的连接字符串 App_Data 目录在我发布项目时位于 bin dir 下
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      • 2013-03-04
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 2016-03-26
      相关资源
      最近更新 更多