我有我的Firebird數據庫中的JSON數據。現在,我想創建mysql連接並將JSON數據寫入NodeJS上的MySql數據庫。但是,當我關閉火鳥連接和創建MySQL連接並在其上嘗試一些查詢,它給出了一個錯誤:如何在NodeJS上將JSON數據寫入MySql數據庫?
events.js:85 throw er; // Unhandled 'error' event ^ Error: Cannot enqueue Handshake after invoking quit. at Protocol._validateEnqueue (/Users/myuser/node_modules/mysql/lib/protocol/Protocol.js:196:16) at Protocol._enqueue (/Users/myuser/node_modules/mysql/lib/protocol/Protocol.js:129:13) at Protocol.handshake (/Users/myuser/node_modules/mysql/lib/protocol/Protocol.js:52:41) at Connection.connect (/Users/myuser/node_modules/mysql/lib/Connection.js:123:18) at Server. (/Users/myuser/Documents/project/convert_fdb_to_mysql.js:34:14) at Server.emit (events.js:110:17) at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:491:12) at HTTPParser.parserOnHeadersComplete (_http_common.js:111:23) at Socket.socketOnData (_http_server.js:343:22) at Socket.emit (events.js:107:17)
我想解決這個錯誤,寫我的JSON MySQL數據庫。 您能否讓我知道我該如何解決我的問題?
有關將JSON數據傳輸到MySql數據庫的建議嗎?
感謝,
這是我從火鳥數據庫獲取數據代碼:
var fb = require('firebird');
var util = require('util');
var http = require('http');
// mySQL connection
var mysql = require('mysql');
var connection = mysql.createConnection({
socketPath: '/tmp/mysql.sock',
host: 'localhost',
user: 'root',
password: '',
database: 'mysql_db'
});
http.createServer(function (req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
// Firebird connection
var con = fb.createConnection();
con.connectSync('FIREBIRD.FDB', 'SYSDBA', 'masterkey', '');
var rs = con.querySync('SOME SQL Query');
var rows = rs.fetchSync("all", true);
con.disconnect(); // Firebird disconnect
connection.connect(); // mysql connect
connection.query('SOME SQL Query', function (err, rows, fields) {
if (err) throw err;
console.log(rows[0]);
});
connection.end(); // mysql disconnect
res.write('[');
rows.forEach(function (r) {
res.write(JSON.stringify(r) + ',');
});
res.end(']');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
爽,一個HTTP請求處理程序的內部同步動作。固體。 –
錯誤消息的這一部分:'未處理'錯誤'事件'表明存在錯誤處理程序丟失。添加所述錯誤處理程序會給你一個錯誤消息,你可以採取行動 –
錯誤的第二部分表明你正在結束一些還沒有完成的事情,比如mysql查詢。 –