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

时间:2021-02-04 16:37:21

I am using windows 8.1, office 2013, Visual Studio 2013, SQL Server 2014 and SSIS 12.0

我使用的是windows 8.1、office 2013、Visual Studio 2013、SQL Server 2014和SSIS 12.0。

I have a data flow which has OLE DB source, Data Conversion And Excel Destination. My OLEDB Source
使用SSIS 2012从Sql Server 2014导出数据到Excel文件 Data Conversion 使用SSIS 2012从Sql Server 2014导出数据到Excel文件 I have create a Excel file StudentInfo.xls in (C:\XX) folder and make a connection 使用SSIS 2012从Sql Server 2014导出数据到Excel文件

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

Everything is OK, but when I execute it I giving me the following errors:

一切正常,但当我执行它时,我给了我以下错误:

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".

错误:DynamicExcel的0xC0209303连接管理器“Excel连接管理器”:未注册所请求的OLEDB提供程序Microsoft.Jet.OLEDB.4.0。如果没有安装64位驱动程序,则在32位模式下运行包。错误代码:0 x00000000。有一个OLE DB记录可用。来源:“Microsoft OLE DB服务组件”Hresult: 0x80040154描述:“类未注册”。

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.

错误:Data Flow Task, Excel Destination [24]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER获取连接方法调用连接管理器“Excel连接管理器”失败,错误代码为0xC0209303。在此之前可能会发布错误消息,并提供有关AcquireConnection方法调用失败的更多信息。

This link (Switch package from 64bit to 32bit) led me to change the Run64BitRuntime property to False.

这个链接(从64位切换到32位)导致我将run64bit运行时属性更改为False。

After changing the property, I am now getting a different set of errors:

在改变属性后,我现在得到了一组不同的错误:

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.".

错误:DynamicExcel的0xC0202009连接管理器“Excel连接管理器”:SSIS错误代码DTS_E_OLEDBERROR。发生了一个OLE DB错误。错误代码:0 x80004005。有一个OLE DB记录可用。源:“Microsoft JET数据库引擎”Hresult: 0x80004005描述:“Microsoft JET数据库引擎无法打开文件”。它已经被另一个用户独占地打开了,或者你需要许可才能查看它的数据。

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.

错误:Data Flow Task, Excel Destination [24]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER获取连接方法调用连接管理器“Excel连接管理器”失败,错误代码为0xC0202009。在此之前可能会发布错误消息,并提供有关AcquireConnection方法调用失败的更多信息。

2 个解决方案

#1


3  

I've the same message, I have an SSIS project on visual studio 2010, I read a file.xls on that page, in my project VS 2010 has not any problem when I tried to store some query results to excel file, throw me a 'Microsoft.Jet.OLEDB.4.0' the provider is not registered on the local machine', I fixed that problem next following this steps,

我有同样的信息,我有一个SSIS项目关于visual studio 2010,我读了一个文件。在那个页面上的xls,在我的项目VS 2010中没有任何问题当我试图将一些查询结果存储到excel文件时,给我一个'Microsoft.Jet.OLEDB.4.0'提供者没有在本地机器上注册',我在接下来的步骤中修复了这个问题,

1.-Open IIS

1。——开放IIS

2.-Change the appPool on Advanced Settings

2。-在高级设置上更改appPool

3.-true to enable to 32-bit application.

3所示。-true用于启用32位应用程序。

and that's all

这就是所有

ps.I changed Configuration Manager to X86 on Active Solution Platform

在活动解决方案平台上,我将配置管理器改为X86

#2


0  

I had the same issue. How I resolved it was:

我也有同样的问题。我的决定是:

  1. Open SSIS
  2. 打开SSIS
  3. Go to DEBUG
  4. 去调试
  5. Click and open My Project Properties
  6. 单击并打开我的项目属性
  7. Go under Configuration Properties/Debugging
  8. 在配置属性/调试
  9. Select False under Run64BitRuntime.
  10. 选择假Run64BitRuntime之下。
  11. Apply the changes
  12. 应用更改

After I did this I was able to run the packages without any errors.

这样做之后,我就可以运行包而不会出现任何错误。

#1


3  

I've the same message, I have an SSIS project on visual studio 2010, I read a file.xls on that page, in my project VS 2010 has not any problem when I tried to store some query results to excel file, throw me a 'Microsoft.Jet.OLEDB.4.0' the provider is not registered on the local machine', I fixed that problem next following this steps,

我有同样的信息,我有一个SSIS项目关于visual studio 2010,我读了一个文件。在那个页面上的xls,在我的项目VS 2010中没有任何问题当我试图将一些查询结果存储到excel文件时,给我一个'Microsoft.Jet.OLEDB.4.0'提供者没有在本地机器上注册',我在接下来的步骤中修复了这个问题,

1.-Open IIS

1。——开放IIS

2.-Change the appPool on Advanced Settings

2。-在高级设置上更改appPool

3.-true to enable to 32-bit application.

3所示。-true用于启用32位应用程序。

and that's all

这就是所有

ps.I changed Configuration Manager to X86 on Active Solution Platform

在活动解决方案平台上,我将配置管理器改为X86

#2


0  

I had the same issue. How I resolved it was:

我也有同样的问题。我的决定是:

  1. Open SSIS
  2. 打开SSIS
  3. Go to DEBUG
  4. 去调试
  5. Click and open My Project Properties
  6. 单击并打开我的项目属性
  7. Go under Configuration Properties/Debugging
  8. 在配置属性/调试
  9. Select False under Run64BitRuntime.
  10. 选择假Run64BitRuntime之下。
  11. Apply the changes
  12. 应用更改

After I did this I was able to run the packages without any errors.

这样做之后,我就可以运行包而不会出现任何错误。