微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Node orm2:不调用orm.connect回调

我想试试 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的内容是什么.你的代码看起来像这样吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐