Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0202009 Expand / Collapse
Author
Message
Posted Wednesday, June 9, 2010 3:31 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, January 30, 2012 2:18 AM
Points: 3, Visits: 66
I have made a SSIS package in BIDS which runs fine.
I loads a Excelfile to a database. Nothing too fancy.

When i schedule the job using an SQL 2008 agent, it would execute. We have an execution account. I set this account using the run as and i gave it on the excel file full control.

Also when i delete the excel, but i kept the same error. It seems that it does'nt reach the file.

I get te following erro:
Message
Executed as user: dwhSSIS. Microsoft (R) SQL Server Execute Package Utility Version 10.0.2531.0 for 32-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 9:36:05 Error: 2010-06-09 09:36:06.22 Code: 0xC0202009 Source: Laden_Norm_Zorgprofielen Connection manager "Excel Connection Manager" Description: 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: "Unspecified error". End Error Error: 2010-06-09 09:36:06.22 Code: 0xC020801C Source: Laden Excel Excel Source [1] Description: 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. End Error Error: 2010-06-09 09:36:06.22 Code: 0xC0047017 Source: Laden Excel SSIS.Pipeline Description: component "Excel Source" (1) failed validation and returned error code 0xC020801C. End Error Error: 2010-06-09 09:36:06.22 Code: 0xC004700C Source: Laden Excel SSIS.Pipeline Description: One or more component failed validation. End Error Error: 2010-06-09 09:36:06.22 Code: 0xC0024107 Source: Laden Excel Description: There were errors during task validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 9:36:05 Finished: 9:36:06 Elapsed: 0.703 seconds. The package execution failed. The step failed.

I tried:
- Setting permissions to full on the excel file for dwhSSIS.
- Giving the whole map permissions for dwhSSIS.

I don't know what to do next.
The other packages which are database extractions, run fine on de dwhSSIS account.

Thanks for any advice!
J
Post #934475
Posted Wednesday, June 9, 2010 4:12 AM


Hall of Fame

Hall of FameHall of FameHall of FameHall of FameHall of FameHall of FameHall of FameHall of FameHall of Fame

Group: General Forum Members
Last Login: Today @ 10:54 AM
Points: 3,853, Visits: 4,991
What is the extension of the file (.xls or .xlsx)?
What is the architecture of the server on which the package is being executed (x86, x64 or IA64)?


____________________________________________
Space, the final frontier? not any more...
All limits henceforth are self-imposed.
“libera tute vulgaris ex”
Post #934501
Posted Wednesday, June 9, 2010 4:31 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, January 30, 2012 2:18 AM
Points: 3, Visits: 66
stewartc-708166 (6/9/2010)
What is the extension of the file (.xls or .xlsx)?
What is the architecture of the server on which the package is being executed (x86, x64 or IA64)?


Thanks for the reply:
the extension is xls.
De server is x86
The development server is also x86.
I tied setting it on 64bit false.

Post #934510
Posted Thursday, September 2, 2010 4:33 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, December 3, 2012 3:03 AM
Points: 4, Visits: 87
Nuances of using Excel data sources with SSIS

Your Development Machine Setup

* Needs Jet Drivers, available along with the default Office install so if you have Excel working fine locally, this is enough.
* Installing the "Office Data Connectivity Components" (download file name AccessDatabaseEngine.exe) as well as having Office installed corrupts the Jet Driver stack so that SSIS in VS 2008 cannot create the object to read the XLS file. You will see the title error "Unspecified Error" and "80004005" code.

Resolution:

1. Uninstall the Jet Engine pack on your development XP machine if you have Office. It will be listed as something like "Microsoft Access Database Engine (2010)".
2. Run Office 200x setup with the Repair option and reboot.
3. Try configuring the task in SSIS and it should be able to read the Sheet names again and columns.

Live Server (32-bit and 64-bit)
Deploying your SSIS package to a server without Office 200x means it will not have the Jet Engine drivers to read XLS, XLSX files. You must install the 32-bit Office Data Connectivity Components - Jet Drivers mentioned above found here (http://www.microsoft.com/downloads/details.aspx?familyid=7554f536-8c28-4598-9b72-ef94e038c891&displaylang=en).

There are no 64-bit drivers; therefore regardless of 32 or 64-bit live environments, this step is the same.
You should then run the SSIS package as a CmdExec job type using BAT file with something like:

"C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTEXEC.exe" /FILE "D:\SSISDeployment\PbR_ETL\PbR_Parent.dtsx" /CHECKPOINTING OFF /REPORTING EW /SET \Package.Variables[User::AdHocRulesetId].Properties[Value];2

Path C:\Program Files (x86)\ locates the 32-bit mode for SSIS. If you do not do this, the 64-bit environment cannot invoke the Jet Driver (32bit) to read XLSX files.

Network file locations
If your Excel file is on a network drive, you must ensure the user that the job runs under can access this. The best way is to change the SQL Server and SQL Server Agent service accounts to a domain account eg. XCLPCT\SQL2008Service. The internet is full of information about this topic but we found it best to use a Domain Account for tons of other benefits too.

Grant NTFS permissions to this new domain user to the folder(s). Note: It is necessary to change the SQL Server service account itself because SQL Agent uses this account as a proxy to request Active Directory security information - trust me, I had a nightmare just focussing on SQL Agent solely. If you use a Local User for the SQL Server but it is not authorised by AD, you will never get permission to fully run the job properly.

Furthermore, the Excel Data Source SSIS task will need a full UNC path as it will execute under your new SQL Server Agent service account and might not have the necessary network drive letter mappings. Specify in your configuration file the full UNC path like

\\mynetworkserver\ShareName\MyNetworkFolder\Data.xls

Final Notes

My config that finally worked:

Local PC: XP, VS 2008, Office 2007 Enterprise only

Server: Win2008, SSIS DTExec 32-bit version by Batch File call, Office 2007 Data Connectivity Components pack, Domain Accounts set for Startup of SQL Server services and NTFS permissions granted.
Post #979397
Posted Thursday, September 2, 2010 5:06 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, January 30, 2012 2:18 AM
Points: 3, Visits: 66
Thanks for the reply. I'm gonna try the tips.
Post #979422
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse