Powershell sql insert error data will be truncated removed data and still get error

Powershell sql insert error data will be truncated removed data and still get error

我有一个 powershell 脚本,我试图用它来将数据从源 .txt 写入 SQL table

Import-Csv $_.fullname -Header Z_AP_EXNUM,Z_AP_ID | ForEach-Object {Invoke-Sqlcmd `
        -Database $database -ServerInstance $server -Username $uid -Password $pwd `
        -Query "insert into $table VALUES ('$_.Z_AP_EXNUM','$_.Z_AP_ID')"

我的实际代码有大约 293 headers/columns 要插入。我收到的错误是字符串或二进制数据将被截断。该语句已终止。我进入我的一个测试文件并删除了所有数据,但一些标准字段仍然收到这些错误。我不确定是什么导致插入失败。

错误:

Invoke-Sqlcmd : String or binary data would be truncated. The statement has been terminated. At C:\Users***\Desktop\script\scripy.ps1:79 char:111 + Z_AP_STR_CSEM5_9,Z_AP_STR_NAME5_10,Z_AP_STR_SCOR5_10,Z_AP_STR_CSEM5_10 | ForEach-Object {Invoke-Sqlcmd <<<< ` + CategoryInfo : InvalidOperation: (:) [Invoke-Sqlcmd], SqlPowerShellSqlExecutionException + FullyQualifiedErrorId : SqlError,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

检查 table 架构,此错误通常是由于 table 中的列定义类型与您要在其中存储的 powershell 数据类型不同所致。