最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

获取connection.release不是节点中的函数错误

IT培训 admin 1浏览 0评论

获取connection.release不是节点中的函数错误

我正在尝试设置连接池,并希望在完成查询后释放连接。

我是如何实施的:

dbConnection.getConnection( function(err, connection){

                dbConnection.release();

    if (err) {
      console.log("db error ", err);
      return callback(err);
      //connection.release();
    }else {

      var memberId= member.member_id;

      return dbConnection.query("Select * from tableName, function(err, result,fields){



        if (err) {
          return callback(err);
        }else {


          return callback(null, result);
        }

      });


    }

    dbConnection.on('error', function(err) {
           console.log("db on error ");
           callback(err);
           return;
    });

我收到错误:

TypeError: dbConnection.release is not a function
    at Query._callback (/home/itstym/node_js/perb/models/member.js:26:22)
    at Query.Sequence.end (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/sequences/Sequence.js:88:24)
    at Query._handleFinalResultPacket (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/sequences/Query.js:139:8)
    at Query.EofPacket (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/sequences/Query.js:123:8)
    at Protocol._parsePacket (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/Protocol.js:279:23)
    at Parser.write (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/Parser.js:76:12)
    at Protocol.write (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/Protocol.js:39:16)
    at Socket.<anonymous> (/home/itstym/node_js/perb/node_modules/mysql/lib/Connection.js:103:28)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)

但我已经通过互联网上的大量例子,所有人都在做同样的事情。我错过了什么吗?

dbconnection.js

var dbconnection = mysql.createPool({

  connectionLimit : 10, //important
  host:'localhost',
  user:'root',
  database:'perb',
  password: 'dbandc',
  debug    :  false
});


module.exports=dbconnection;
回答如下:

您想在从回调传递的连接变量上调用release(),而不是在池本身上调用。前两行应该是:

dbConnection.getConnection( function(err, connection){

  connection.release();

我基本上只是在第3行将dbConnection改为connection

获取connection.release不是节点中的函数错误

我正在尝试设置连接池,并希望在完成查询后释放连接。

我是如何实施的:

dbConnection.getConnection( function(err, connection){

                dbConnection.release();

    if (err) {
      console.log("db error ", err);
      return callback(err);
      //connection.release();
    }else {

      var memberId= member.member_id;

      return dbConnection.query("Select * from tableName, function(err, result,fields){



        if (err) {
          return callback(err);
        }else {


          return callback(null, result);
        }

      });


    }

    dbConnection.on('error', function(err) {
           console.log("db on error ");
           callback(err);
           return;
    });

我收到错误:

TypeError: dbConnection.release is not a function
    at Query._callback (/home/itstym/node_js/perb/models/member.js:26:22)
    at Query.Sequence.end (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/sequences/Sequence.js:88:24)
    at Query._handleFinalResultPacket (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/sequences/Query.js:139:8)
    at Query.EofPacket (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/sequences/Query.js:123:8)
    at Protocol._parsePacket (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/Protocol.js:279:23)
    at Parser.write (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/Parser.js:76:12)
    at Protocol.write (/home/itstym/node_js/perb/node_modules/mysql/lib/protocol/Protocol.js:39:16)
    at Socket.<anonymous> (/home/itstym/node_js/perb/node_modules/mysql/lib/Connection.js:103:28)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)

但我已经通过互联网上的大量例子,所有人都在做同样的事情。我错过了什么吗?

dbconnection.js

var dbconnection = mysql.createPool({

  connectionLimit : 10, //important
  host:'localhost',
  user:'root',
  database:'perb',
  password: 'dbandc',
  debug    :  false
});


module.exports=dbconnection;
回答如下:

您想在从回调传递的连接变量上调用release(),而不是在池本身上调用。前两行应该是:

dbConnection.getConnection( function(err, connection){

  connection.release();

我基本上只是在第3行将dbConnection改为connection

发布评论

评论列表 (0)

  1. 暂无评论