Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点orm2:未调用orm.connect回调_Javascript_Node.js_Sqlite_Orm_Node Orm2 - Fatal编程技术网

Javascript 节点orm2:未调用orm.connect回调

Javascript 节点orm2:未调用orm.connect回调,javascript,node.js,sqlite,orm,node-orm2,Javascript,Node.js,Sqlite,Orm,Node Orm2,我想尝试一下,使用sqlite。我尝试了示例代码,并将mysql更改为sqlite。看起来是这样的: var orm = require("orm"); orm.connect('sqlite://D:/orm_test/database.db', function (err, db) { // ... }); 我没有收到任何错误或警告。只是什么都没发生。根本不调用回调 它不起作用,即使我在之前创建了数据库.db,根据文档,只有在连接成功(或未成功)时才会调用回调。。。 因此,如

我想尝试一下,使用sqlite。我尝试了示例代码,并将mysql更改为sqlite。看起来是这样的:

var orm = require("orm");

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

    // ...

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


它不起作用,即使我在之前创建了
数据库.db

根据文档,只有在连接成功(或未成功)时才会调用回调。。。 因此,如果您的路径不正确(出于任何原因,并且您的连接没有显式失败),那么可能没有回调

如果直接侦听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:password@hostname/database?option=value
您可以使用debug选项将查询打印到控制台,也许会有更多信息

编辑:
好吧,我只是试着用它,然后做到了:

// 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);
});
而且它是有效的。。。stringify显示控制台中DB对象的内容。
您的代码是这样的吗?

我想您最好使用对象模式来定义连接字符串。如果我运行
url.parse('sqlite://D:\\orm\u test\\database.db',true),有点难看。奇怪的是你说cb没有被调用。这应该被报告为一个bug。您是否安装了
npmsqlite
?当然,我不知道您安装了哪个npm?我测试了它,它连接起来很简单。如果您愿意,我可以共享该项目。我已经安装了
sqlite3
。npm版本是:
3.7.3
nodejs版本是:
6
仍然没有任何内容
on('connect',…
callback永远不会被调用。调试选项=true是否打印某些内容?