SSIS 包失败并出现错误 "If 64-bit driver not installed, run in 32-bit mode"
SSIS package fails with error "If 64-bit driver not installed, run in 32-bit mode"
我在尝试从 SSMS 的集成服务目录中 运行 包时收到以下错误。我将 64BitRuntime
选项更改为 FALSE
但它仍然不起作用。下面的错误后面是无法连接到我的 Excel connection manager
的错误。有什么建议吗?
Package Error: 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. Error code: 0x00000000
使用 SSIS 中内置的 excel 连接管理器,程序包需要 运行 在 32 位模式下。切换这个:
64BitRuntime option to FALSE
只允许 SSDT 运行 32 位模式的包,但它不会影响它在部署后 运行 的方式。从 SSMS 以 32 位模式 运行 它:
- 如果您右键单击集成服务目录中的包并点击执行,请转到对话框的高级选项卡并选中 32 位 运行时间。
- 如果您通过 SQL 代理作业执行它。在该步骤中,转到配置 > 高级并检查 32 位 运行time.
您必须安装 Microsoft Access Database Engine 2010 Redistributable 和
将 64BitRuntime
选项设置为 FALSE
您可以从以下link获取:
可以在以下 link 中找到更多信息和详细信息:
如果您从作业中执行 SSIS 程序包,作业配置中有一个选项复选框 "enable 32 bit"。
或
如果您从 BIDS 或 SSDT 执行 SSIS 包,请转到项目属性=>配置 => 调试 => 将 64BitRuntime 从 "True" 更改为 "False",因为它被设置为 True默认。
您正在尝试 运行 SSISDB 目录中的 SSIS 包并且需要它处于 32 位模式。
此类的 TSQL 如下所示
DECLARE @execution_id bigint;
EXEC SSISDB.catalog.create_execution
@package_name = N'Legacy_DataExport.dtsx'
, @execution_id = @execution_id OUTPUT
, @folder_name = N'Legacy_DataExport'
, @project_name = N'Legacy_DataExport'
, @use32bitruntime = True
, @reference_id = NULL;
SELECT
@execution_id;
DECLARE @var0 smallint = 1;
EXEC SSISDB.catalog.set_execution_parameter_value
@execution_id
, @object_type = 50
, @parameter_name = N'LOGGING_LEVEL'
, @parameter_value = @var0;
EXEC SSISDB.catalog.start_execution @execution_id;
GO
值得注意的是我们指定 @use32bitruntime = True
的第一个 EXEC 的倒数第二个参数
也就是说,请 运行 包 Legacy_DataExport.dtsx 可以在项目中找到 Legacy_DataExport 可以在文件夹 Legacy_DataExport 中找到使用 32 位 运行时间.
从UI的角度来看,好像
SSMS 中的点击路径为
- 展开“管理”下的“集成服务目录”节点
- 展开“SSISDB”的唯一选项
- 展开项目所在的文件夹 - 在我的例子中是“Legacy_DataExport”
- 展开“项目”节点
- 展开你的实际项目节点——我的项目也叫“Legacy_DataExport”
- 展开“包”
- 找到你的包裹,我的例子还是“Legacy_DataExport.dtsx”,右击它然后select
Execute...
我在尝试从 SSMS 的集成服务目录中 运行 包时收到以下错误。我将 64BitRuntime
选项更改为 FALSE
但它仍然不起作用。下面的错误后面是无法连接到我的 Excel connection manager
的错误。有什么建议吗?
Package Error: 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. Error code: 0x00000000
使用 SSIS 中内置的 excel 连接管理器,程序包需要 运行 在 32 位模式下。切换这个:
64BitRuntime option to FALSE
只允许 SSDT 运行 32 位模式的包,但它不会影响它在部署后 运行 的方式。从 SSMS 以 32 位模式 运行 它:
- 如果您右键单击集成服务目录中的包并点击执行,请转到对话框的高级选项卡并选中 32 位 运行时间。
- 如果您通过 SQL 代理作业执行它。在该步骤中,转到配置 > 高级并检查 32 位 运行time.
您必须安装 Microsoft Access Database Engine 2010 Redistributable 和
将 64BitRuntime
选项设置为 FALSE
您可以从以下link获取:
可以在以下 link 中找到更多信息和详细信息:
如果您从作业中执行 SSIS 程序包,作业配置中有一个选项复选框 "enable 32 bit"。
或
如果您从 BIDS 或 SSDT 执行 SSIS 包,请转到项目属性=>配置 => 调试 => 将 64BitRuntime 从 "True" 更改为 "False",因为它被设置为 True默认。
您正在尝试 运行 SSISDB 目录中的 SSIS 包并且需要它处于 32 位模式。
此类的 TSQL 如下所示
DECLARE @execution_id bigint;
EXEC SSISDB.catalog.create_execution
@package_name = N'Legacy_DataExport.dtsx'
, @execution_id = @execution_id OUTPUT
, @folder_name = N'Legacy_DataExport'
, @project_name = N'Legacy_DataExport'
, @use32bitruntime = True
, @reference_id = NULL;
SELECT
@execution_id;
DECLARE @var0 smallint = 1;
EXEC SSISDB.catalog.set_execution_parameter_value
@execution_id
, @object_type = 50
, @parameter_name = N'LOGGING_LEVEL'
, @parameter_value = @var0;
EXEC SSISDB.catalog.start_execution @execution_id;
GO
值得注意的是我们指定 @use32bitruntime = True
也就是说,请 运行 包 Legacy_DataExport.dtsx 可以在项目中找到 Legacy_DataExport 可以在文件夹 Legacy_DataExport 中找到使用 32 位 运行时间.
从UI的角度来看,好像
SSMS 中的点击路径为
- 展开“管理”下的“集成服务目录”节点
- 展开“SSISDB”的唯一选项
- 展开项目所在的文件夹 - 在我的例子中是“Legacy_DataExport”
- 展开“项目”节点
- 展开你的实际项目节点——我的项目也叫“Legacy_DataExport”
- 展开“包”
- 找到你的包裹,我的例子还是“Legacy_DataExport.dtsx”,右击它然后select
Execute...