这是代码(用于建立连接的代码不包括在下面,因为错误与连接无关):
let sql = require('mssql');
let fs = require('fs');
migrate_sql_dump(sql_file_path) {
console.log(`Migrating the data as per the .sql file: ${sql_file_path}`);
let data = fs.readFileSync(sql_file_path, 'utf16le');
console.log(data);
return this.connection.request().query(data)
.catch(err => {
console.error(`Error executing query: ${err}`);
throw err;
});
}
这是我传递给migrate_sql_dump函数的 .sql 文件。
DECLARE @uniqueId UNIQUEIDENTIFIER
SET @uniqueId = NEWID()
EXEC sp_i_Event
@streamName='SomeStreamName',
@streamId='S01',
@aggregateType='StreamAggregateType',
@aggregateOriginId='{"SomeId":"S01","Status":"Completed"}',
@eventType='SomeEventType',
@createdBy='Self',
@correlationId=@uniqueId,
@data='{"SomeId":"S01","Status":"Completed"}'
console.log(data)从函数中执行migrate_sql_dump的操作与上面提到的相同,它在 Microsoft SQL Server Studio 中运行得非常好,但从RequestErrornode.js中给出。
编辑: .sql 文件只有一个简单的INSERT查询并且编码设置为utf8代码,此代码工作正常。