我想试试
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); });