![](/img/trans.png)
[英]throw new TypeError('Invalid argument type'); from{mypath}\Desktop\reddit\node_modules\@redis\client\dist\lib\client\RESP2\encoder.js:17 t
[英]Invalid column type from bcp client for colid
我正在構建一個用於概念驗證的應用程序。 我有一個端點,它從 JSON 文件中讀取數據,然后應該將 JSON 數據批量插入到數據庫中。 數據庫中的表已正確創建,但數據未添加到表中。
我收到以下錯誤消息:
來自 bcp 客戶端的 colid 1 的列類型無效。
JSON 文件格式
[
{"giver_id": "2343212"}
]
端點
app.get('/givers', async(req, res) => {
const fs = require('fs');
let raw = fs.readFileSync('C:\\data\\givers.json');
let response = JSON.parse(raw);
try{
let pool = await sql.connect(connectionConfig)
const table = new sql.Table('givers')
table.create = true
table.columns.add('giver_id', sql.VarChar, { nullable: true })
response.forEach((row) => {
table.rows.add.apply(table.rows, row)
})
const request = new sql.Request(pool)
request.bulk(table, (err, result) => {
if(err){
console.log(err.message) //Invalid column type from bcp client for colid 1.
}
if(result){
console.log(result)
}
})
} catch(err){
if(err){
console.log(err.message)
}
}
})
我正在使用node-mssql package。
來自 bcp 客戶端的 colid 1 的列類型無效。
當目標數據庫中已經存在表並且Node中通過table.columns.add(...)
定義的表與SQL服務器中的實際定義不匹配時,可能會出現上述錯誤消息。
在評論中提到, giver
列是varchar(max)
所以節點中的匹配定義將是:
table.columns.add('giver_id', sql.VarChar(sql.MAX), { nullable: false });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.