web.config中的Sqlite连接字符串

时间:2011-12-21 22:04:48

标签: asp.net sqlite iis-7

我已将我的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驱动器以外的地方找到数据库。我不明白这是否是一个许可问题。我怎样才能找到确切的解决方案?

2 个答案:

答案 0 :(得分:2)

我使用System.AppDomain.CurrentDomain.BaseDirectory获取物理路径,然后找到sqlite文件的路径。它奏效了!

答案 1 :(得分:0)

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

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