簡體   English   中英

來自 bcp 客戶端的 colid 的列類型無效

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM