当程序作为子进程执行时,sqlite无法打开数据库文件 我面临以下问题:当C++直接启动我的C++应用程序时,使用SQLITE3OpenOPEV2()连接SQLite数据库文件没有问题。但是当我通过python脚本(带有subprocess.Popen)执行应用程序时,我总是得到一个

当程序作为子进程执行时,sqlite无法打开数据库文件 我面临以下问题:当C++直接启动我的C++应用程序时,使用SQLITE3OpenOPEV2()连接SQLite数据库文件没有问题。但是当我通过python脚本(带有subprocess.Popen)执行应用程序时,我总是得到一个,c++,python,sqlite,permissions,subprocess,C++,Python,Sqlite,Permissions,Subprocess,调用sqlite3_open_v2()时出现“无法打开数据库文件”错误 我认为这可能是文件权限的问题。但我将数据库文件和包含文件夹的r/w权限设置为everyone 有人知道问题可能是什么吗?在你的程序中,你能得到一个更彻底的错误吗?比如检查errno(使用perror或strerror)?可能是应用程序的文件夹路径不同,因此找不到数据库文件?您使用的是什么操作系统?(这可能会改变锁定策略。)谢谢回复。我发现问题是在DB的前面有一个空间(它作为参数传递给C++应用程序),做了子过程。Popen(

调用sqlite3_open_v2()时出现“无法打开数据库文件”错误

我认为这可能是文件权限的问题。但我将数据库文件和包含文件夹的r/w权限设置为everyone


有人知道问题可能是什么吗?

在你的程序中,你能得到一个更彻底的错误吗?比如检查
errno
(使用
perror
strerror
)?可能是应用程序的文件夹路径不同,因此找不到数据库文件?您使用的是什么操作系统?(这可能会改变锁定策略。)谢谢回复。我发现问题是在DB的前面有一个空间(它作为参数传递给C++应用程序),做了子过程。Popen([ PROG ],-D { 0 }。Frase:ToPurthoToDB)应该是子进程。Popen([ PROG ],-D { 0 }。