通过存储过程执行SSIS包?SSDB内部?

通过存储过程执行SSIS包?SSDB内部?,ssis,ssis-2012,ssis-2008,Ssis,Ssis 2012,Ssis 2008,我们可以通过存储过程在SSDB内执行SSIS包吗 我的软件包是否有ORACLE和SQL数据连接?我们可以通过参数传递它们吗 无论如何还是建议?如果您的包已部署到目录,则可以通过调用多个SSIDB存储过程来执行它。从连接管理器中,还可以参数化选项,例如连接字符串、服务器名称或初始目录。在连接管理器上单击鼠标右键,选择“参数化”,选择属性,然后将其与新的或现有的参数相匹配。在下面的示例中,@execution\u id参数将所有配置绑定到此执行实例。通过单击SSIS目录中“执行包”窗口上的“脚本”按

我们可以通过存储过程在SSDB内执行SSIS包吗

我的软件包是否有ORACLE和SQL数据连接?我们可以通过参数传递它们吗


无论如何还是建议?

如果您的包已部署到目录,则可以通过调用多个SSIDB存储过程来执行它。从连接管理器中,还可以参数化选项,例如连接字符串、服务器名称或初始目录。在连接管理器上单击鼠标右键,选择“参数化”,选择属性,然后将其与新的或现有的参数相匹配。在下面的示例中,@execution\u id参数将所有配置绑定到此执行实例。通过单击SSIS目录中“执行包”窗口上的“脚本”按钮,可以生成此SQL

--configure execution, if you're referencing an environment variable
-- @reference_id will tie this variable to your parameter otherwise it's null
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'Your Package.dtsx', @execution_id=@execution_id OUTPUT, 
@folder_name=N'Your Folder', @project_name=N'Your Project', @use32bitruntime=False, @reference_id=Null
Select @execution_id

--set value for parameter below
DECLARE @var0 sql_variant = N'Connection String'
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=30, 
@parameter_name=N'ConnectionStringParameter', @parameter_value=@var0

--logging level, this is optional and will default to 1 (basic) if omitted
DECLARE @var1 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=50,
 @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var1

--execute package
EXEC [SSISDB].[catalog].[start_execution] @execution_id

GO

您尝试过这些解决方案吗?:当您在服务器上运行包时,您是如何做到的?您在服务器上使用的连接字符串是什么?例如,集成安全性=真吗?您是否阅读过Microsoft关于部署和运行SSIS包Integrated Security=SSPI的文章。它们都是等价的,对吗?这肯定是从一台服务器到另一台服务器的身份验证存在问题。SSIS服务器对您进行身份验证,并尝试将该身份验证传递给数据库服务器,但失败的原因可能是没有“Active Directory委派”。尝试使用远程桌面连接登录到服务器,并尝试直接在服务器上执行包。这个问题还存在吗?该软件包将如何在生产中运行?