Solved

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

Posted on 2014-11-06
4
406 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
  • 2
  • 2
4 Comments
 
LVL 68

Accepted Solution

by:
Qlemo earned 500 total points
Comment Utility
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
Comment Utility
Before trying with 64 bit version, just one clarification. Should I uninstall 32 bit version first or can these two coexist?
0
 
LVL 68

Expert Comment

by:Qlemo
Comment Utility
They can coexist.
0
 

Author Comment

by:AmitJain001
Comment Utility
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

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

CCModeler offers a way to enter basic information like entities, attributes and relationships and export them as yEd or erviz diagram. It also can import existing Access or SQL Server tables with relationships.
Many companies are looking to get out of the datacenter business and to services like Microsoft Azure to provide Infrastructure as a Service (IaaS) solutions for legacy client server workloads, rather than continuing to make capital investments in h…
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.

772 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now