SSIS 执行 SQL 任务 - 输入字符串格式错误

SSIS Execute SQL Task - Input String in wrong format

我有一个 Execute SQL Task 尝试执行存储过程,如下所示:

EXEC usp_stored_proc ?, ?, ? OUTPUT, ? OUTPUT;

我有 4 个变量映射到参数。忽略输出参数,这些都是映射到 NVARCHAR 参数的字符串(正如存储过程所期望的那样)。

当我 运行 包时,一个错误告诉我执行失败并显示消息 输入字符串的格式不正确 。但是,当我使用断点查找输入参数的 运行 时间值(或至少映射到它们的变量)并使用 [=45= 在 SSMS 中执行同一行 SQL ]时间值,它工作正常。

有人可以帮忙吗?我对此束手无策。我什至找不到导致问题的确切参数,尽管它可能都是因为值遵循相同的格式。

更多详情:

更新

通过创建一个调用精简过程的新执行 sql 组件解决了这个问题。然后我慢慢地向过程中添加代码行和附加参数,直到到达我开始使用的相同组件,现在它可以工作了。比较原始任务和重建任务,我发现完全没有区别(与过程相同),所以我不知道为什么会出现这个问题。

尝试更改参数大小 (ParamSize) 以匹配存储过程中的参数大小;如果 nvarchar(50) 然后将其设置为 50.

通过创建一个调用精简过程的新执行 sql 组件解决了这个问题。然后我慢慢地向过程中添加代码行和附加参数,直到到达我开始使用的相同组件,现在它可以工作了。对比原任务和重建任务,完全没有区别(和程序一样),所以我不知道为什么会出现这个问题。