calling SSIS package from .net application is failing because the driver for Microsoft.ACE.OLEDB.12.0 is not installed
Hi Team, I have an issue executing the SSIS package from .net application. There are App server and db server, packages are deployed in db server and application is calling this package. It is throwing the following error SSIS Error Code DTS_E_OLEDB_NOPROVIDER_ERROR. The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. Error code: 0x00000000. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered". SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Excel Source" failed with error code 0xC0209302. There may be error messages posted before this with more information on why the AcquireConnection method call failed. component "Excel Source" (306) failed validation and returned error code 0xC020801C. One or more component failed validation. There were errors during task validation. After little googling got to know that the driver for Microsoft.ACE.OLEDB.12.0 has to be installed. Where should it be insalled App server or DB server? Regards,Eshwar.
July 15th, 2012 11:31pm
After little googling got to know that the driver for Microsoft.ACE.OLEDB.12.0 has to be installed. Where should it be insalled App server or DB server? It needs to be installed on the machine where the package runs. So if you are running the package directly from your application code using Dts.Runtime, the OLE DB provider needs to be installed on the application server. Dan Guzman, SQL Server MVP, http://weblogs.sqlteam.com/dang/
July 15th, 2012 11:38pm
is it required to install integration services in App Server to run package (which is in DB server package store)? Regards, Eshwar.
July 16th, 2012 1:18am
is it required to install integration services in App Server to run package (which is in DB server package store)? You need to install Integration Services on the machine running the package, although the physical package location doesn't matter. The Integration Services service doesn't actually need to be running on the app server and is not involved in remote package execution. Be aware of licensing considerations, though. See http://msdn.microsoft.com/en-us/library/ms403355.aspx. Alternatively, you can run the package on the database server but start it remotely from your application. In versions prior to SQL Server 2012, you can do this using a SQL Agent job, Service Broker External Activator or your own solution like a web service. SQL Server 2012 introduces the SSISDB catalog database, which allows you to run packages remotely via T-SQL using the catalog.create_execution and catalog.start_execution stored procedures. See http://msdn.microsoft.com/en-us/library/ms141708.aspx for a matix of execution options. Dan Guzman, SQL Server MVP, http://weblogs.sqlteam.com/dang/
July 16th, 2012 8:32am