linux环境下sqlite数据库无法创建并连接 返回
包子 发布于2023/11/30
参考的是.NET操作 Sqlite - SqlSugar 5x - .NET果糖网 (donet5.com)中的例子,在windows环境下没问题,但发布为.net6 linux包,总是报错。

热忱回答(25)
-
fate sta VIP0
2023/11/30字符串改成
//相对路径 //ORM建库功能说明:建议不要加目录ORM没办法创建文件夹,如果加目录需要手动建文件夹 public static string ConnectionString= @"DataSource=SqlSugar4xTest.sqlite";
0 回复 -
fate sta VIP0
2023/11/30不要用物理路径改成相对路径
0 回复 -
包子 VIP0
2023/11/30@fate sta:还是不行。

0 回复 -
fate sta VIP0
2023/11/30
这个是驱动版本错误,是不是安装有问题
0 回复 -
fate sta VIP0
2023/11/30独立安装 Microsoft.Data.Sqlite 最新版本 然后在试一下
0 回复 -
包子 VIP0
2023/11/30@fate sta:这样?不行呢
0 回复 -
fate sta VIP0
2023/11/30用我写的试一下
0 回复 -
包子 VIP0
2023/11/30@fate sta:一样哦
0 回复 -
fate sta VIP0
2023/11/30
0 回复 -
fate sta VIP0
2023/11/30用原生Open看能不能跑
0 回复 -
fate sta VIP0
2023/11/30在我的DEMO上改
0 回复 -
包子 VIP0
2023/11/30@fate sta:用指令dotnet publish --configuration Release --runtime linux-x64 --self-contained true发布的,没这个文件。要自己编译?
0 回复 -
teenty VIP0
2023/12/1同样的问题
Data Source=/data/resource_db.db;Mode=ReadWriteCreate;
Data Source=resource_db;Mode=ReadWriteCreate;
都不行
给的建议 //ORM建库功能说明:建议不要加目录ORM没办法创建文件夹,如果加目录需要手动建文件夹
是只若创建db文件会有问题,若是连接读取已存在的db应该是没问题的,起码win中一直可以
猜测是linux独有的bug
0 回复 -
包子 VIP0
2023/12/1感谢指点。要自己下载sqlite源码,手动编译此文件并放到工程目录才行。

0 回复 -
非西瓜 VIP0
2024/1/23
0 回复 -
fate sta VIP0
2024/2/20 回复 -
fate sta VIP0
2024/4/30centos7.9 用户解决方案
反馈结果:
上周五那个centos7.9上sqlite环境问题我找到解决办法了,直接使用源码安装最新版sqlite3后,就能正常使用了,我是参照的这个教程
https://www.cnblogs.com/huaxiayuyi/p/16770739.html
//只要原生这个能跑,SqlSugar就能跑 new Microsoft.Data.Sqlite .SqliteConnection("datasource=xxx.db") .Open();0 回复 -
Freedom VIP0
2024/4/30@包子:我遇到了跟你类似的问题,有空帮我看一下吗
0 回复 -
fate sta VIP0
2024/6/30 回复 -
ffsquare VIP0
2024/6/25问题主要是缺少链接库,使用的e_sqlite3.so。
参考下面链接下载最新的sqlite库
https://www.cnblogs.com/huaxiayuyi/p/16770739.html
上面的操作都做完后,在你的运行程序的根目录创建软链接
ln -s /usr/local/sqlite3/lib/libsqlite3.so [YouProgramRoot]/e_sqlite3.so
这样就可以正常连接数据库了。
0 回复 -
fate sta VIP0
2024/8/29OS 7.9 又一个用户解决方案
https://blog.csdn.net/qq_40817472/article/details/141648765
0 回复 -
fate sta VIP0
2024/9/20OS 7.6 又一个用户解决方案
直接用.NET 8什么不用安装成功了,之前.NET6
0 回复 -
疋疋 VIP0
2024/9/25遇到同样的问题,服务器镜像是内置的无法更改,服务器环境没法预置安装其他环境
只有使用e_sqlite3.so这个文件的方案了,但这个文件要怎么弄出来啊0 回复 -
myst VIP0
4天前我在使用过程中也遇到了此问题,并通过以下方式解决了,可以参考
操作系统:Ubuntu 24.04
SqlSugar版本:最新版本(该评论发布日期可以安装的最新版本)

0 回复 -
myst VIP0
4天前@myst:
按图示可以执行这两行代码,
# 查找默认镜像
find /usr/lib -name 'libsqlite3.so*' | grep -v '\.a$'
// 给默认镜像添加软连接 目标为程序所需要的镜像地址
sudo ln -sf /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.21/libe_sqlite3.so
0 回复