2013-04-08 53 views
0

当通过mysql npm发出查询时,Node.js会抛出下面的错误。Node.js错误“现在无法切换到旧模式。”与MySQL NPM

_stream_readable.js:664 
throw new Error('Cannot switch to old mode now.'); 

Error: Cannot switch to old mode now. 
at emitDataEvents (_stream_readable.js:664:11) 
at Socket.Readable.resume (_stream_readable.js:649:3) 

示例代码抛出这个错误:

query = mysqlCLI.query('SELECT * FROM foo WHERE bar = 1'); 
results = []; 

mysqlCLI.resume(); 

query 

    .on('error', function (err) { 

    console.log('Bad Things: ', err); 

    }) 

    .on('result', function (row) { 

     results.push(row); 

    }) 

    .on('end', function(){ 

    mysqlCLI.pause(); 

    dataHandler(results); 

    }); 

回答

1

这花了相当多的故障,但对于这个最终的修复是删除这两个mysqlCLI.pause();mysqlCLI.resume();。关于这个问题的奇怪之处在于,代码在Windows Server 2003上执行得很好,但是一旦我通过Git进行克隆,它就会在CentOS 5.9(RHEL)下破解。

+1

有关某些背景信息,请参阅http://stackoverflow.com/a/20181116/45375。 – mklement0 2013-11-24 21:19:59