javascript - Node orm2 : orm. 连接回调未调用

标签 javascript node.js sqlite orm node-orm2

我想试试node orm2 , 使用 sqlite。我尝试了示例代码,并将 mysql 更改为 sqlite。它看起来像这样:

var orm = require("orm");

orm.connect('sqlite://D:/orm_test/database.db', function (err, db) {

    // ...

});

我没有收到任何错误或警告。只是什么都没有发生。根本不调用回调。

它不起作用,即使我之前创建 database.db

最佳答案

根据文档,只有在连接成功(或不成功)完成时才会调用回调... 因此,如果您的路径不正确(出于任何原因,并且您的连接未明确失败),也许没有回调?

如果你像这样直接监听连接事件,你可以避免回调:

var orm = require('orm');
var db = orm.connect('sqlite://D:/orm_test/database.db');
db.on('connect', function(err) {
  if (err) return console.error('Connection error: ' + err);
  // doSomething()...
});

连接网址是这样的:

driver://username:password@hostname/database?option=value

您可以使用调试选项将查询打印到控制台,也许会有更多信息?

编辑:
好吧,我只是尝试使用它并做到了:

// REQUIRES
var express = require('express');
var app = express();
var orm = require("orm");
var sqlite3 = require('sqlite3');

// SERVER CONFIGURATION
var port = 5050;

// APP CONFIGURATION
app.use(express.static('public'));
app.use('/static', express.static(__dirname + '/public'));
app.set('views', __dirname + '/views');

// ROUTES
app.get('/', function(req, res){
    orm.connect('sqlite://C:/Users/Me/Documents/Projects/test/database.db', function(err, db){
    console.log('connected to this db : ' + JSON.stringify(db));
    });
});

app.listen(port, function(){
    console.info('Server successfully started, listening on port ' + port);
});

它可以工作... JSON.stringify 在控制台中显示 DB Object 的内容是什么。 你的代码是这样的吗?

关于javascript - Node orm2 : orm. 连接回调未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39478561/

相关文章:

node.js - 如何在Dialogflow的内联中读取API CALL的URL?

mysql - 一张表上的 SQLite SELECT 语句

mysql - MySQL 的语法图

javascript - ReactJs 使用 refs 来聚焦输入

JavaScript - 将所有变量/增量变量后缀打印到控制台

javascript - 如何强制 axios 不在 GET 请求中缓存

php - 远程 SQLite 管理器

javascript - Node js module.exports 不导出变量

node.js - nodejs - 如何在 ws 中获取 cookie (einaros)

JavaScript 数组 : string indexed items