Solved

[SSIS] : The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine

Posted on 2014-11-06
4
469 Views
Last Modified: 2016-02-11
Hi Experts,

I recently created an SSIS package on my local machine and it works well. Within the package, it creates a connection to an excel file, reads the data and processes it like a dataset. Something like this:

            OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Excel 12.0 Xml;HDR=YES;IMEX=0;");
            con.Open();

Open in new window


When I tried to deploy on our test server I received an error. It is important to mention that our test server does not have any version of MS Office installed. So the error I got was :

Error Message ::: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. Error StackTrace ::: at System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper) at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.OleDb.OleDbConnection.Open() at ST_f688224974424dccb939cc4d81318378.csproj.FileImport.ReadXLSFile(String FilePath, String FileHeader, String DataDelimiter, String SheetName) at ST_f688224974424dccb939cc4d81318378.csproj.ScriptMain.Main()

Open in new window


I googled the error and downloaded "Microsoft Access Database Engine 2010 Redistributable" and installed on our Test server. I even restarted the server.
There were two version of files kept on server, I downloaded and installed the 32 bit version of installer. Name of the file is "AccessDatabaseEngine.exe". Somewhere on internet it was mentioned that SQL Server Integration services for SQL Server 2008 R2 supports 32 bit version only so it seems I did the right thing.

In my package property, Run64BitRunTime is set to False.

After doing all of above, the job still fails logging the error in Event Manager I have given above. However, when I open the package from SQL server BI Studio directly on the Test server and run it from Visual studio, it works like a charm.

Any help regarding this issue will be greatly appreciated.

Thanks.
0
Comment
Question by:AmitJain001
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 69

Accepted Solution

by:
Qlemo earned 500 total points
ID: 40427340
If you create the connection that way. it is correct that the BI / IS bitness determines the driver to use.  I'm not confident, however, that IS is 32bit-only, so I would try with the 64bit driver.
0
 

Author Comment

by:AmitJain001
ID: 40427717
Before trying with 64 bit version, just one clarification. Should I uninstall 32 bit version first or can these two coexist?
0
 
LVL 69

Expert Comment

by:Qlemo
ID: 40427884
They can coexist.
0
 

Author Comment

by:AmitJain001
ID: 40430444
Thanks Qlemo. Let me try this on our development server and I will get back to you. I really hope that works.

Cheers :)
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A couple of weeks ago, my client requested me to implement a SSIS package that allows them to download their files from a FTP server and archives them. Microsoft SSIS is the powerful tool which allows us to proceed multiple files at same time even w…
I have a large data set and a SSIS package. How can I load this file in multi threading?
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question