我正在尝试在我的 Angular + Electron 应用程序中使用 node-sqlite3 打开一个 sqlite 数据库文件。
尽管我确保该文件存在并且 Electron 可以读取它,但当我尝试使用以下命令创建 sqlite 数据库时:
import * as sqlite from 'sqlite3';
// ...
const path = `${__dirname}/assets/sqlite.db`;
const fs = require('electron').remote.require('fs');
console.log(path);
if (fs.existsSync(AppConfig.sqlitePath)) {
console.log('the file exists');
} else {
console.log('the file does not not');
}
const myDb = new sqlite.Database(path, sqlite.OPEN_READONLY, (error) => {
console.log(error);
});
该文件存在,因为我得到了正确的console.log
消息,它看起来像:
/tmp/.mount_xxxxxx/resources/app.asar.unpacked/dist/assets/sqlite.db
但是,new sqlite.Database(...)
由于文件不存在,我收到以下错误:
错误:SQLITE_CANTOPEN:无法打开数据库文件