我正在尝试在所选目录中创建sqlite数据库,但是不能这样做。每当我尝试使用路径到文件夹创建数据库时,我都会收到错误SQLITE_CANTOPEN
以下代码:
创建DB的功能:
using database = std::unique_ptr<sqlite3, decltype(&sqlite3_close)>;
database open_database(const char* name)
{
sqlite3* db = nullptr;
int rc = sqlite3_open(name, &db);
if (rc != SQLITE_OK) {
std::string S = (std::string)"Unable to open database '" + name + "': " +
sqlite3_errmsg(db);
sqlite3_close(db);
throw std::exception(S.c_str());
}
return database{ db, sqlite3_close };
}
以下代码有效:
open_database("file:testMY_db.sqlite?cache=shared");
open_database("testMY_db.sqlite");
下面的代码抛出异常:SQLITE_CANTOPEN。
open_database("file:///C:/Users/Андрей/Desktop/test_db.sqlite?cache=shared");
open_database("file:///C:/Users/Андрей/Desktop/test_db.sqlite");
open_database("file:/C:/Users/Андрей/Desktop/test_db.sqlite?cmode=rw");
如果有人遇到这样的问题或者知道如何解决问题,请帮助我。