SSIS从Excel2007(xlsx)文件中抽取数据保存到数据库,提示以下错误:
Error 1 Validation error. Data Flow Task: Package: The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. If the 32-bit driver is not installed, run the package in 64-bit mode. Error code: 0x00000000. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered". Package.dtsx 0 0
在把文件保存成为Excel2003(xls)后,可以读取。
初步怀疑是驱动问题。
首先是去下载一个Access Database Engine.
到这一步大多数人已经可以正常使用了。
如果还不行,那么再下载另一个驱动,2007 Office System Driver: Data Connectivity Components
其他备选方案:
1.在项目属性当中,把Run64BitRuntime设置为False.
2.在Connection Manager当中,设置DelayValidation属性为True.