gpt4 book ai didi

sql-server - SQL Server 代理和 SSIS 包

转载 作者:行者123 更新时间:2023-12-02 17:47:47 25 4
gpt4 key购买 nike

我试图将变量值从 SQL Server 代理作业传递到 SSIS 包,但该变量中包含撇号,导致 SQL Server 代理作业失败

例如,在作业步骤属性的 SQL Server 代理中,我输入以下详细信息:

Property Path: \Package.Variables[User::VariableName].Properties[Value] Property 
Value: Michael O'Callaghan.

知道如何解决这个问题吗?

最佳答案

如果包部署到 SSISDB 并从那里执行,请使用 SSISDB 存储过程来设置值并转义引号,就像通过 T-SQL 一样。然后,SQL 代理作业可以使用 T-SQL 脚本来执行此步骤。下面的示例使用 set_execution_parameter_value 存储过程来设置此值,并且仍然会导致传入“Michael O'Callaghan”。

DECLARE @execution_id BIGINT
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'Package.dtsx', @execution_id=@execution_id OUTPUT,
@folder_name=N'Project Folder', @project_name=N'Project', @use32bitruntime=False, @reference_id=Null

DECLARE @var0 SQL_VARIANT = N'Michael O''Callaghan'
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=30, @parameter_name=N'Name', @parameter_value=@var0

DECLARE @var1 SMALLINT = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var1

EXEC [SSISDB].[catalog].[start_execution] @execution_id

关于sql-server - SQL Server 代理和 SSIS 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54791733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com