【问题标题】:Error creating database with JS, Node and SQlite3使用 JS、Node 和 SQlite3 创建数据库时出错
【发布时间】:2021-08-23 08:56:26
【问题描述】:

我只想说,我发现 Stack 问题即使不相同也相似,但那里的答案不起作用。

我只是想创建一个小型数据库,以便可以查询存储中的所有项目。我想我会尝试 SQLite,因为人们说它易于使用且轻量级。

这是不起作用的问题/答案:sqlite3 create database with callback using node,这是来自sqlitetutorial.net的参考

这是我的代码和我遇到的错误。我不明白为什么不只是创建一个新数据库。

'use strict'

// Open the database in memory
const sqlite3 = require('sqlite3').verbose();

let db = new sqlite3.Database('/db/storage.db', (err) => {
    if (err) {
        console.error(err.message);
    } else {
        console.log('Connected to the in memory SQlite database.')
    }
});


// Close the database
db.close((err) => {
    if (err) {
      return console.error(err.message);
    }
    console.log('Close the database connection.');
});

那么错误信息就是

SQLITE_CANTOPEN: unable to open database file
Segmentation fault (core dumped)

或者如果我使用sqlite3.OPEN_CREATE 参数,我会得到这个错误。

SQLITE_MISUSE: bad parameter or other API misuse
Segmentation fault (core dumped) code here

所以我不完全知道这里出了什么问题,因为这只是我第一个小时搞砸它,但似乎很多其他人都遇到了这个问题。

【问题讨论】:

    标签: javascript node.js sqlite


    【解决方案1】:

    我发现了这个问题,这是一个非常简单的问题。只是我没有注意目录位置。声明数据库时,点需要存在。

    let db = new sqlite3.Database('./db/storage.db', (err) => {
        if (err) {
            console.error(err.message);
        } else {
            // do stuff
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2018-12-13
      • 2019-12-31
      • 2013-03-12
      • 2019-05-28
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 2016-11-20
      • 1970-01-01
      相关资源
      最近更新 更多