sqlite3 锁库的问题 (mount、Linux)

2019-05-06 13:25发布

一、问题阐述:
我将Windows下的共享目录(赋予了读写权限)挂载到本地的一个节点(mount)下,然后通过代码在指定路径下创建(或者拷贝)一个uk库,对这个uk库进行操作(创建表或者给表插入数据)时,提示Error:database is locked,接着我对这个uk库赋777的权限,但是查看时发现权限未改变;我将这个uk拷贝到mount以外的路径下,用sqlite3进行操作,提示Error: attempt to write a readonly database,然后对这个库赋777的权限,此时权限更改成功,进行操作也是没有问题。请问到底是什么原因,怎么解决?
直接在Windows下操作是没有任何问题的。

二、操作流程
1、mount 命令
sudo mount //192.168.6.72/WorkData ./mount/ -o username=Administrator,vers=2.0

2、通过代码拷贝一个uk库

3、对uk文件进行操作及结果

4、对uk文件进行提权操作及结果

5、将uk文件拷贝到mount以外的路径下,然后进行操作及结果

6、对uk进行提权操作及结果

7、再次对uk进行操作及结果

8、在Windows下操作及结果

1条回答
手持菜刀,她持情操
2楼-- · 2019-05-06 14:22

解决方法:将共享目录下的东西拷贝出来操作。
总结:1、Linux下共享目录有一个权限上的问题,一般都是要拷贝出来操作。
2、设置程序共享库位置方法:export LD_LIBRARY_PATH=./lib:\(LD_LIBRARY_PATH或者export LD_LIBRARY_PATH=/home/test/lib:\)LD_LIBRARY_PATH

查看更多
登录 后发表回答