繁体   English   中英

如何修复错误:SQLITE_CANTOPEN:无法在 Zeit.co 上打开数据库?

[英]How to fix Error: SQLITE_CANTOPEN: unable to open database on Zeit.co?

我想连接到我的数据库 sqlite3。 这在本地主机上运行良好,但在我部署到 zeit.co 时失败,出现错误:

Error: SQLITE_CANTOPEN: unable to open database

据我了解,这个问题是因为我们无法获得数据库文件的正确路径。 我尝试了一些解决方案,但仍然失败。 请帮忙!!!

这是 zeit.co 日志上的错误:

2020-02-13T07:50:40.031Z 4d5a9aed-ae26-4a09-903a-72aa08ca5140 ERROR Unhandled Promise Rejection {"errorType":"Runtime.UnhandledPromiseRejection","错误消息":"无法打开数据库文件"SQLITE_无法打开数据库错误:" "reason":{"errorType":"Error","errorMessage":"SQLITE_CANTOPEN: 无法打开数据库文件","code":"SQLITE_CANTOPEN","errno":14,"stack":["错误:SQLITE_CANTOPEN : 无法打开数据库文件"]},"promise":{"isFulfilled":false,"isRejected":true,"rejectionReason":{"errorType":"Error","errorMessage":"SQLITE_CANTOPEN: 无法打开数据库文件","code":"SQLITE_CANTOPEN","errno":14,"stack":["错误: SQLITE_CANTOPEN: 无法打开数据库文件"]}},"stack":["Runtime.UnhandledPromiseRejection: 错误: SQLITE_CANTOPEN:无法打开数据库文件"," at process. (/var/runtime/index.js:35:15)"," at process.emit (events.js:228:7)"," at eventToObjectGenerator.promiseCreated (/var/task/node_modules/bluebird/js/release/debuggability.js:258:33)"," 在 activeFireEvent (/var/task/node_modul es/bluebird/js/release/debuggability.js:301:44)"," at fireRejectionEvent (/var/task/node_modules/bluebird/js/release/debuggability.js:703:14)"," at Promise._notifyUnhandledRejection (/var/task/node_modules/bluebird/js/release/debuggability.js:90:9)"," at Timeout.unhandledRejectionCheck [as _onTimeout] (/var/task/node_modules/bluebird/js/release/debuggability.js :39:25)"," at listOnTimeout (internal/timers.js:531:17)"," at processTimers (internal/timers.js:475:7)"]} 发生未知的应用程序错误

这是我连接到sqlite的代码

const fs = require('fs');
const path = require('path');

const DBSOURCE = path.join(__dirname, 'mydb.sqlite');

const knex = require('knex')({
    client: 'sqlite3',
    connection: {
        filename: DBSOURCE
    }
});

笔记:

  1. 我试过const DBSOURCE = 'mydb.sqlite' ;
  2. 我试过const DBSOURCE = path.resolve(__dirname, 'mydb.sqlite');

对于那些从谷歌这里绊倒的人,Zeit 现在是 Vercel,并且有一个在无服务器环境中使用 MySQL 的更新示例。

https://github.com/vercel/next.js/tree/canary/examples/with-mysql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM