1.node.js+express开发
2.使用mssql连接SQLserver数据库
3.在批量导入数据时使用bulk发生错误 Invalid column type from bcp client for colid 1.
RequestError: Invalid column type from bcp client for colid 1.
at handleError (D:\liangliwen\LittleSun\LittleSunApi\node_modules\mssql\lib\tedious\request.js:233:15)
at Connection.emit (events.js:400:28)
at Parser.<anonymous> (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\lib\connection.js:832:12)
at Parser.emit (events.js:400:28)
at Parser.<anonymous> (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\lib\token\token-stream-parser.js:37:14)
at Parser.emit (events.js:400:28)
at addChunk (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\node_modules\readable-stream\lib\_stream_readable.js:298:12)
at readableAddChunk (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\node_modules\readable-stream\lib\_stream_readable.js:280:11)
at Parser.Readable.push (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\node_modules\readable-stream\lib\_stream_readable.js:241:10)
at Parser.Transform.push (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\node_modules\readable-stream\lib\_stream_transform.js:139:32) {
code: 'EREQUEST',
originalError: Error: Invalid column type from bcp client for colid 1.
at handleError (D:\liangliwen\LittleSun\LittleSunApi\node_modules\mssql\lib\tedious\request.js:231:19)
at Connection.emit (events.js:400:28)
at Parser.<anonymous> (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\lib\connection.js:832:12)
at Parser.emit (events.js:400:28)
at Parser.<anonymous> (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\lib\token\token-stream-parser.js:37:14)
at Parser.emit (events.js:400:28)
at addChunk (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\node_modules\readable-stream\lib\_stream_readable.js:298:12)
at readableAddChunk (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\node_modules\readable-stream\lib\_stream_readable.js:280:11)
at Parser.Readable.push (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\node_modules\readable-stream\lib\_stream_readable.js:241:10)
at Parser.Transform.push (D:\liangliwen\LittleSun\LittleSunApi\node_modules\tedious\node_modules\readable-stream\lib\_stream_transform.js:139:32)
{
info: ErrorMessageToken {
name: 'ERROR',
event: 'errorMessage',
number: 4816,
state: 1,
class: 16,
message: 'Invalid column type from bcp client for colid 1.',
serverName: 'DESKTOP-L4SSJD0',
procName: '',
lineNumber: 1
}
},
number: 4816,
lineNumber: 1,
state: 1,
class: 16,
serverName: 'DESKTOP-L4SSJD0',
procName: '',
precedingErrors: []
}
解决办法:
table.columns.add(col, sqlType);改成table.columns.add(col, sqlType, { nullable:false});
nullable意思是字段是否为空,根据数据库字段选择true或false
参考:https://github.com/tediousjs/node-mssql/issues/285
若有收获,就点个赞吧