今天再.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; }
大家可以试试

浙公网安备 33010602011771号