Sql server Powershell sql插入错误数据将被截断并删除数据,但仍将获取错误

Sql server Powershell sql插入错误数据将被截断并删除数据,但仍将获取错误,sql-server,powershell,sqlcmd,truncated,Sql Server,Powershell,Sqlcmd,Truncated,我有一个powershell脚本,试图使用它将数据从source.txt写入SQL表 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 VALU

我有一个powershell脚本,试图使用它将数据从source.txt写入SQL表

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个标题/列。我收到的错误是字符串或二进制数据将被截断。声明已终止。我进入了我的一个测试文件,删除了所有的数据,除了一些标准字段,仍然收到这些错误。我不确定是什么原因导致插入失败

错误:

调用Sqlcmd:字符串或二进制数据将被截断。 声明已终止。 在C:\Users***\Desktop\script\scripy.ps1:79 char:111
+Z_AP_STR_CSEM5_9,Z_AP_STR_name 5_10,Z_AP_STR_SCOR5_10,Z_AP_STR_CSEM5_10 |每个对象{Invoke Sqlcmd检查表架构,此错误通常是由于表中的列定义类型与要存储在其中的powershell数据类型不同而显示的。

检查表架构,此错误通常是由于表中的列定义类型与要存储在其中的powershell数据类型不同而显示的它。

我一直在查看字段,所有数据类型似乎都是一致的,我从一个测试文件中删除了所有数据,除了一个简单的数字字段,但仍然得到相同的错误,不确定字段为空是否是问题的原因。我在查询中的语法是否正确,或者我是否因为引号而传递了文本字段名。I figu红色,这是查询的语法错误,我相信它传递的是文字。我更改了代码以转义引号,并将标题分配给vars及其现在的工作方式。类似于“插入$table(filename,size)值(
'$Name
,“$FileSize')”我一直在查看字段,所有数据类型似乎都是一致的,我删除了一个测试文件中的所有数据,除了一个简单的数字字段,但仍然得到相同的错误,不确定字段为空是否是问题的原因。我在查询中的语法是否正确,或者是因为引号而传递文本字段名。我认为是但是,这是查询的语法错误,我相信它传递的是文本。我更改了代码以转义引号,并将标题分配给vars及其现在的工作方式。类似于“插入$table(filename,size)值(
“$Name
”,“$FileSize”)”