node-oracle原生模块对oracle进行查询时为何总显示不出数据
发布于 12 年前 作者 skyer316 4242 次浏览 最后一次编辑是 8 年前

var bindings = require(’./oracle_bindings’); //oracle_bindings是我在vs2012下编译出来的, var async = require(‘async’); //使用了node-oracle源代码,大家有没知道原因的 var oracle = new bindings.OracleClient();

async.waterfall( [

    function  ConnectDataBase(callback) {
	oracle.connect({ "hostname": "localhost", "user": "his", "password": "his" }, function(err, connection) {
		console.log("conneted")
		callback(err,connection);	
    });	
},
function DeleteData(connection,callback)
{
		var self=this;
		this.connection=connection;
		self.connection.execute("select* FROM person WHERE NAME = (:1)", ['huangwei'],function(err, results) {
		self.connection.setAutoCommit(true);
		callback(err,results);
}); 	  
}

], function(err,results) { if(err) { throw err; } console.log(results);

} );

2 回复

既然没报错信息,排除运行配置不当或程序代码出错的可能,最可能的情况就是没有数据就是正确的结果,即sql查询本身找不到一个符合条件的记录。 可能的话,检查下生成的最终查询sql语句;另外"select* FROM person WHERE NAME = (:1)", ['huangwei'] 真的符合oracle_bindings的语法规范吗?(google不到oracle_bindings是什么玩意)

你在node-oracle-master目录下面可以找到一个lib目录,那里面有一个oracle.js内容是var bindings = require("…/build/Release/oracle_bindings"); var oracle = new bindings.OracleClient(); exports.connect = function(settings, callback) { oracle.connect(settings, callback); } exports.OutParam = bindings.OutParam; 实质上是要链接你所生成的库,至于这个库的名字可以是任意的

回到顶部