SSIS 2012 在 64 位系统上从 SSISDB 执行包
SSIS 2012 Execute Package from SSISDB on 64 bit system
我在执行我的程序包时遇到问题,因为我收到以下错误:
The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not
registered. If the 64-bit driver is not installed run the package in
32-bit mode.
我环顾四周,据我了解,这是因为 excel 或需要使用 32 位驱动程序在 32 位模式下进行访问连接。我知道在我的设计器中我可以转到属性并将 Run64BitRuntime 选项更改为 false。那不是问题。它在我的设计师中运行良好。我的问题是当 运行 我的包来自 SSISDB 时如何指定它?
如果设置 Run64BitRunTime 在 SSIS 设计器中有效,并且您在通过 SQL Job Agent 从 SSISDB 执行 ssis 包时遇到问题。
您应该在步骤属性下的 32 位运行时设置复选标记。
如果您通过 SSISDB 存储过程执行包,catalog.create_execution
SP 有一个 @use32bitruntime
参数,它将 运行 您的包直接从 SSISDB 以 32 位模式运行。
--@use32bitruntime=True will enable 32-bit mode
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'32BitPackage.dtsx', @execution_id=@execution_id OUTPUT,
@folder_name=N'Test Folder', @project_name=N'Test Project', @use32bitruntime=True, @reference_id=Null
Select @execution_id
--parameter/logging configuration
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,
@object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
--run package
EXEC [SSISDB].[catalog].[start_execution] @execution_id
GO
我在执行我的程序包时遇到问题,因为我收到以下错误:
The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not registered. If the 64-bit driver is not installed run the package in 32-bit mode.
我环顾四周,据我了解,这是因为 excel 或需要使用 32 位驱动程序在 32 位模式下进行访问连接。我知道在我的设计器中我可以转到属性并将 Run64BitRuntime 选项更改为 false。那不是问题。它在我的设计师中运行良好。我的问题是当 运行 我的包来自 SSISDB 时如何指定它?
如果设置 Run64BitRunTime 在 SSIS 设计器中有效,并且您在通过 SQL Job Agent 从 SSISDB 执行 ssis 包时遇到问题。
您应该在步骤属性下的 32 位运行时设置复选标记。
如果您通过 SSISDB 存储过程执行包,catalog.create_execution
SP 有一个 @use32bitruntime
参数,它将 运行 您的包直接从 SSISDB 以 32 位模式运行。
--@use32bitruntime=True will enable 32-bit mode
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'32BitPackage.dtsx', @execution_id=@execution_id OUTPUT,
@folder_name=N'Test Folder', @project_name=N'Test Project', @use32bitruntime=True, @reference_id=Null
Select @execution_id
--parameter/logging configuration
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,
@object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
--run package
EXEC [SSISDB].[catalog].[start_execution] @execution_id
GO