使用 SSIS 2012 从 Sql Server 2014 将数据导出到 Excel 文件

Exporting Data to Excel file From Sql Server 2014 using SSIS 2012

我正在使用 windows 8.1、office 2013、Visual Studio 2013、SQL Server 2014 和 SSIS 12.0

我有一个包含 OLE DB 源、数据转换和 Excel 目标的数据流。 我的 OLEDB 源代码
数据转换 我在 (C:\XX) 文件夹中创建了一个 Excel 文件 StudentInfo.xls 并建立了连接

一切正常,但是当我执行它时,出现以下错误:

Error: 0xC0209303 at DynamicExcel, Connection manager "Excel Connection Manager": 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. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered".

Error: 0xC020801C at Data Flow Task, Excel Destination [24]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0209303. There may be error messages posted before this with more information on why the AcquireConnection method call failed.

这个 link (Switch package from 64bit to 32bit) 导致我将 Run64BitRuntime 属性 更改为 False.

更改 属性 后,我现在收到一组不同的错误:

Error: 0xC0202009 at DynamicExcel, Connection manager "Excel Connection Manager": SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft JET Database Engine" Hresult: 0x80004005 Description: "The Microsoft Jet database engine cannot open the file ''. It is already opened exclusively by another user, or you need permission to view its data.".

Error: 0xC020801C at Data Flow Task, Excel Destination [24]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed.

我收到了同样的消息,我在 visual studio 2010 上有一个 SSIS 项目,我在那个页面上读到 file.xls,在我的项目中,VS 2010 在我尝试时没有任何问题将一些查询结果存储到 excel 文件,给我一个 'Microsoft.Jet.OLEDB.4.0' 提供程序未在本地计算机上注册',我接下来按照以下步骤解决了该问题,

1.-打开IIS

2.-在高级设置中更改 appPool

3.-true 启用 32 位应用程序。

就这些了

ps.I 在活动解决方案平台上将配置管理器更改为 X86

我遇到了同样的问题。我是如何解决的:

  1. 打开 SSIS
  2. 转到调试
  3. 单击并打开“我的项目属性”
  4. 进入配置Properties/Debugging
  5. Select Run64BitRuntime 下为假。
  6. 应用更改

在我这样做之后,我能够 运行 包没有任何错误。