【发布时间】:2015-12-01 11:24:00
【问题描述】:
我正在尝试从 SQL 服务器获取数据并插入 MySQL。我已经获取了大约 1 lac 的记录。记录的获取已正确完成,但在将记录插入 MySQL 期间,它不会立即插入数据。我需要刷新 MySQL 才能看到新记录。
var sql = require('mssql');
var mysql = require("mysql");
var config = {
user : 'sa',
password : '******',
server : 'serverurl',
database : 'DB',
stream : true //work with large amount of rows
};
var connection1 = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'test'
});
connection1.connect();
var connection = new sql.Connection(config, function(err) {
if(err)
console.log(err);
var request = new sql.Request(connection);
// request.stream = true; // You can set streaming differently for each request
request.query('select TOP 100000 * FROM ShipmentAuditLog WITH (NOLOCK)'); // or request.execute(procedure);
request.on('recordset',function(col){
console.time('Time-Taken');
});
// Emitted for each row
request.on('row', function(row) {
syncing(row);
// console.log('Row Inserted');
});
request.on('error', function(err) {
console.log(err);
});
// Emitted for the last one
request.on('done', function(returnValue) {
console.timeEnd('Time-Taken');
connection.close();
});
});
var syncing = function(row){
connection1.query('INSERT INTO shipmentauditlog SET ?', row, function(err,res) {
if(err)
console.log(err);
// else
// console.log('Added');
});
};
【问题讨论】:
-
您可能需要进行提交,这不是关系数据库吗?我有一段时间没做过了,但我想我过去也有类似的事情。
-
@Ewald :- 数据存储在 mysql 中,但问题是,它不是一次存储数据
-
现在我很困惑,数据在 MySQL 中,但不是立即出现,这可能是它发生的速度比 MySQL 提交到磁盘的频率要快,所以它还在日志中,正在处理中?是这个问题吗?
-
@Ewald 是的,你是对的
标签: mysql node.js node-mysql