在 SQL Server 2019 中通过存储过程执行包时找不到 SSIS 包变量

问题描述 投票:0回答:1

我正在尝试执行存储在文件服务器上的SSIS包文件(dtsx)。在 SSISDB 目录中,我有文件夹

dynamiFoldertest
和包
dynamiPackagetest

我正在使用存储过程

dynaPackage.dtsx
加载外部包
dynamiPackage
,其中包含包变量
catalog.deploy_packages
,这是成功的,我可以在
下看到
dynaPackage.dtsx

dynamiFoldertest => dynamiPackagetest => dynaPackage.dtsx

然后我使用存储过程

catalog.create_execution
开始包执行,当我获得
ExecutionId
作为输出参数时,该过程成功了。下一步是使用
catalog.set_execution_parameter_value
存储过程为每个变量设置包变量值,使用
@object_type
参数值为 30(表示包变量)。但对于每个包变量,我都会收到以下错误

参数{变量名}不存在或您没有足够的权限

我登记入住

internal.execution_parameter_values
并入住
catalog.execution_parameter_values
,没有任何包变量的记录。

这可能是什么原因?

权限:我可以使用存储过程部署包,所以我认为我有足够的权限。

注意:我只想要存储过程解决方案,而不是在 C# 中使用集成和 DTS 包,因为它们在 .NET 6 中不再受支持。

请帮忙。

sql sql-server ssis ssis-projects
1个回答
0
投票

我没有使用catalog.set_execution_parameter_value存储过程来设置包变量,而是使用catalog.set_execution_property_override_value存储过程,并且我能够设置变量值。 更多信息=>

https://learn.microsoft.com/en-us/sql/integration-services/system-stored-procedures/catalog-set-execution-property-override-value?view=sql-server-ver16

© www.soinside.com 2019 - 2024. All rights reserved.