0
votes

I am having trouble implementing the execution of a SSIS package via the command line utility dtexec. I am implementing this process on a SQL 2012 server (64 bit) with Integration Services and Business Intelligence Development Studio (VS).

The package is taking in some log files, manipulating them a little and then exporting them to excel. (I have forced 32 bit execution enabled

It runs fine on the server when ran in visual studio or manually by clicking on the package.dtsx file and executing manually.

When I run via dtexec and command line, I get an ACE.OLEDB.12 is not registered error.

screen capture of error

This doesn't make sense to me because I know that I have the driver installed, and it runs manually on the same server with the same package settings.

I have been searching with little success for the past two days, Any help would be appreciated!

1
If an answer solved your problem, consider accepting the answer. Here's how meta.stackexchange.com/questions/5234/… … then return here and do the same with the tick/checkmark till it turns green. This informs the community, a solution was found. Otherwise, others may think the question is still open and may want to post (more) answers. Welcome to Stack!Hackerman

1 Answers

1
votes

The error occurs because the command line calls the 64-bit DTExec utility which makes the package run in 64-bit runtime mode, however, only 32-bit Microsoft ACE 12.0 OLE DB drivers are installed. In BIDS, the package runs in 32-bit runtime mode (the Run64BitRuntime property of the IS project should be set to False), therefore, the package can execute successfully. To address this issue, you can specify the 32-bit DTExec.exe utility in the command line like:

"C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe" /f yourPackagePath