根据文档当连接成功完成(或失败)的回调只是叫...... 所以,如果你的路径不正确(对任何原因,你的连接不是明确的不成功),也许没有回调?
你能避免回调,如果你直接侦听connect事件是这样的:
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()...
});
连接URL是这样的:
driver://username:[email protected]/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说明了什么是数据库对象在控制台中的内容。 你的代码看起来像这样吗?
我怀疑你最好使用对象模式来定义你的连接字符串[见](https://github.com/dresende/node-orm2/blob/master/lib/ORM.js#L74)。如果我运行'url.parse('sqlite:// D:\\ orm_test \\ database.db',true);',它有点难看。奇怪的是你说cb没有被调用。这应该被报告为一个错误。 –
你甚至安装了'npm sqlite'吗? – Shaharyar
当然我没有 –