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帐户提供对目录/文件的读/写权限,这应该起作用。

+0

我给所有文件/文件夹的权限,但没有希望。 – mehmetserif 2011-12-22 15:06:33

+0

data source = | DataDirectory | app.db是我的连接字符串当我发布项目时,App_Data目录在bin目录下 – mehmetserif 2011-12-22 15:07:35