web.config中的sqlite连接字符串
问题描述:
我已经将我的web项目发布到本地iis,但框架无法找到“db”文件。在调试没有问题,我可以连接,但在本地主机我不能。这里是我的连接字符串:web.config中的sqlite连接字符串
<connectionStrings>
<add name="PROD" connectionString="data source=app.db;" providerName="System.Data.SQLite"/>
</connectionStrings>
我什么都试过 “../app.db” “direct_path” “〜/ app.db”
什么可能的问题?
它可以在D:\驱动器或非inetpub驱动器中找到数据库。我不明白这是否是许可问题。我如何找到确切的解决方案?
答
那么我得到了System.AppDomain.CurrentDomain.BaseDirectory的物理路径,然后找到sqlite文件的路径。有效!
答
这很可能是一个权限问题。这在调试时正常工作,因为该网站在您的凭据下运行并且您可以完全控制。部署时它在IIS_USRS下运行,这是非常严格的,很可能默认情况下对文件没有写权限。
为IIS_USRS帐户提供对目录/文件的读/写权限,这应该起作用。
我给所有文件/文件夹的权限,但没有希望。 – mehmetserif 2011-12-22 15:06:33
data source = | DataDirectory | app.db是我的连接字符串当我发布项目时,App_Data目录在bin目录下 – mehmetserif 2011-12-22 15:07:35