sql-server - 请求的 OLE DB 提供程序 Microsoft.ACE.OLEDB.12.0 未注册(SSIS 从 Access 源填充 SQL 表)
问题描述
我上周使用指南创建了一个 SSIS 包(我的第一个包),它正确解析并填充了我的 SQL 表。然后我参考了另一个指南来创建一个自动更新这个表的工作,但是我今天早上发现这个工作已经失败了。我导出了日志,下面是错误。有人可以帮我找出问题所在吗?我认为这可能是需要安装 Microsoft.ACE.OLEDB.12.0,但我真的不知道。我最初选中了该框以在 32 位运行时运行,但它失败了,当我尝试取消选中它时,以防万一这很重要。
09/03/2019 10:50:14,Update_Equipment_table,Error,1,SERVER,Update_Equipment_table,Update Equipment Table,,以用户身份执行:SERVER\SYSTEM。适用于 64 位的 Microsoft (R) SQL Server 执行包实用程序版本 13.0.1601.5 版权所有 (C) 2016 Microsoft。版权所有。开始时间:上午 10:50:14 错误:2019-09-03 10:50:15.94 代码:0xC0209303
来源:包连接管理器“\SERVERPATH\ricochet_tanks.mdb” 描述:请求的 OLE DB 提供程序 Microsoft.ACE.OLEDB.12.0 未注册。如果未安装 64 位驱动程序,请在 32 位模式下运行该软件包。错误代码:0x00000000。OLE DB 记录可用。来源:“Microsoft OLE DB 服务组件”Hresult:0x80040154 描述:“类未注册”。结束错误错误:2019-09-03 10:50:15.94 代码:0xC001002B 源:包连接管理器“\SERVERPATH\ricochet_tanks.mdb”描述:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册. 有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=219816 End Error 错误:2019-09-03 10:50:15.94 代码:1 说明:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“\SERVERPATH\ricochet_tanks.mdb”的 AcquireConnection 方法调用失败,错误代码为 0xC0209303。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。结束错误错误:2019-09-03 10:50:15.94 代码:0xC0047017 源:数据流任务 SSIS.Pipeline 描述:OLE DB 源验证失败并返回错误代码 0xC020801C。结束错误错误:2019-09-03 10:50:15.94 代码:0xC004700C
来源:数据流任务 SSIS.Pipeline 描述:一个或多个组件验证失败。End Error 错误:2019-09-03 10:50:15.94 代码:0xC0024107 来源:数据流任务描述:任务验证期间出现错误。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:上午 10:50:14 结束时间:上午 10:50:15 经过时间:1.422 秒。包执行失败。步骤失败。,00:00:01,0,0,,,,0
解决方案
64 位 SQL 服务器需要 64 位 ACE 驱动程序。如果您已经安装了正确的驱动程序,则需要设置以下属性:
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1;
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1;
GO
推荐阅读
- nativescript - NativeScript:过滤文件夹
- c# - 如果winform字段没有变化,如何停止计算点击事件的值
- html - 如何使用 Microdata 来表示 ItemPage 上的类似产品?
- google-sheets - 计算 2 列对(产品/库存)之间的差异
- vb.net - 当我不知道程序文件夹在哪里时,如何打开文本文件?
- swift - Swift Firestore 阻止检查 Dictionary 键是否存在
- javascript - 如何使用 topojson 访问数组中的值
- c# - Asp.net core Blazor 服务器端 3.0 中的中间件重定向错误?
- html - 如何仅在台式机/笔记本电脑上将 Rehub 主题中的主菜单居中?
- jmeter - 在 JMeter 中,如何在为 CSV 文件中的每个元素选择不同值的同时创建多个有效负载块?