我有一个已知良好的数据库,它是我从Linux上复制过来的。我从源代码和预构建库安装了sqlite3:
npm install --build-from-source sqlite3我最终得到了sqlite3@5.0.2。
当我在我的应用程序中运行sql时,它会抱怨说它找不到我知道的表:
数据库{} SQLITE_ERROR:没有这样的表:修订版
经过深入研究,这似乎是我的sqlite二进制文件,随源代码一起分发:
node_modules/sqlite3/lib/binding/napi-v3-win32-x64\node_sqlite3.node
当我试图在windows的bash中运行它时,我得到了这个错误:
$ node_modules/sqlite3/lib/binding/napi-v3-win32-x64/node_sqlite3.node
bash: node_modules/sqlite3/lib/binding/napi-v3-win32-x64/node_sqlite3.node: cannot execute binary file: Exec format error更新:
我在Debian上试过了,我得到了同样的错误,
Database {}
SQLITE_ERROR: no such table: revisions
GET / 200 59.316 ms - 2447所以这可能是一个代码问题。有什么想法吗?
发布于 2021-04-30 10:10:20
我为sqlite提供了数据库文件的非完全限定路径。由于sqlite在运行中生成数据库,因此它在查找的任何地方都创建了一个数据库,然后尽职尽责地指出该表不在那里。我做了这个公认的习语来解决这个问题:
const path = require("path");
const db_name = path.join(__dirname, "data", "apptest.db");等。
https://stackoverflow.com/questions/67326282
复制相似问题