麦田

不积跬步无以至千里.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

今天再.NET 8 MVC项目中使用到db

部署到IIS上面后出现unable to open database file sqlite 问题。找了很多资料,说是db权限的问题 ,或者字数据库链接字符串用了相对地址问题,或者是地址不对。于是,给db文件iis user 用户 读写权限,用了绝对地址, 都还是一样不行,。

最终发现,原来不是这些问题。是因为我的db文件放到了根目录,然后sqlite在执行过程,会创建db-wal db-shm 这些文件,但是根目录是不允许创建文件的,也不能给根目录这些权限,

于是把db放到一个子目录中,在根目录下面创建一个子目录,然后改变数据库链接字符串,改为这个子目录的db 马上解决了问题

private static string CreateConnectionString()
{
    string dbName = "xxxxx.db";
    string sqlLitePath = "data source="+ Environment.CurrentDirectory + "\\db\\" + dbName + ";version=3;Journal Mode=WAL;";
    return sqlLitePath;
}

大家可以试试

posted on 2025-03-26 10:23  一些记录  阅读(308)  评论(0)    收藏  举报