0

我创建了一个执行 sql 任务来将在 Foreach 循环任务中遇到的文件名保存到数据库表中,当我运行单个任务并将文件名写入数据库表时,这工作正常(见下文)无法当前发布图像! [任务成功运行][1] 但是,当我运行完整的 SSIS 包时,此任务失败(见下文)无法当前发布图像

![unsuccessful execution][2] 我得到的错误信息是:

Error: String or binary data would be truncated.
[Execute SQL Task] Error: Executing the query "insert into filename_staging_table
(FileName) Val..." failed with the following error: 
"The statement has been terminated.". Possible
failure reasons: Problems with the query,
"ResultSet" property not set correctly, parameters
not set correctly,
or connection not established correctly.

非常感谢任何指导......我完全被卡住了!!!!

谢谢

4

1 回答 1

1

错误显示“字符串或二进制数据将被截断”。脚本在手动运行时起作用的原因是因为您只尝试插入一个值。该值在列的长度限制内。

当您运行任务时,它会循环遍历文件名列表并尝试插入每个文件名。这些名称之一对于您尝试将其插入的字段来说太长了。

您需要更改 SQL 中字段的长度,或者您需要在文件名本身上使用 LEFT(filename, xx),以便仅将前 xx 个字符插入到表中。(将 xx 更改为要插入的字符数)

于 2013-01-02T22:24:08.830 回答