node.js - RequestError:从 node.js 运行存储过程时,'' 附近的语法不正确
问题描述
这是代码(用于建立连接的代码不包括在下面,因为错误与连接无关):
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 中运行得非常好,但从RequestError
node.js中给出。
编辑: .sql 文件只有一个简单的INSERT
查询并且编码设置为utf8
代码,此代码工作正常。
解决方案
推荐阅读
- perl - 第一列匹配;读取模式并替换为第二个文件列中的特定值
- algorithm - 什么是查看函数的算法?
- javascript - 如何将多行表单中的值插入数据库?
- sql-server - 实体框架与 ADO.NET 中的存储过程
- shell - 如何使用正则表达式 shell 脚本从路径中获取文件夹名称的第二个位置
- arrays - 谷歌表格应用程序脚本无法过滤数组中的空字符串
- c# - 如何使用 c# 从 UWP 中的文件夹“C:\Test”中获取所有文本文件?
- python - 使用 argparse 和 concurrent.futures 包冻结程序
- java - 具有多个字段和日期的 Spring Data Paging and Sorting Repository
- facebook - 为什么我的网站无法在 Facebook Debugger 中查看?