GreenBetweenTheBraces
GreenBetweenTheBraces

Reputation: 41

SSIS Script load Error MS Jet OleDB provider is not registered on local machine but it is

I have a SSIS package that has some c# script modules in it that manipulates an Access database file. I am using the Microsoft.Jet.OLEDB.4.0 and the package runs fine on my dev box with no errors or wwarnings. However when we deploy it to a Windows Server2012 R2 running under a SQL Server 2016 I am getting the "'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine" error. I believe this to be in error because we have other software running using the same drivers. I have written a c# test app that is replicating the exact code in the script task and it performs without error so I know the driver is actually registered to the local machine.

I have reinstalled the driver which doesn't resolve it. I feel like its is in the way the SSIS package may be handling the script task. Has anyone seen such behavior? I have searched and thus far only found suggestions that would indicate the driver wasn't installed. This is a case where the driver is installed but it's throwing as if it wasn't.

The sequence is that the OleDbConnection is getting instantiated its when I go to open (dbConn.Open()) the connection (ConnectionState is closed on the instantiation) is when it is throwing the error.

using (OleDbConnection dbConn = new OleDbConnection(theAppSettings.DestDbConnString))
{
    if (dbConn.State != ConnectionState.Open)
    {
        dbConn.Open();
    }
}

Edited 4/09/2024 This SSIS package has been built using both VS2012 and VS2019, have tried both the *.mdb and the *.accdb file versions utilizing both the JET 4.0 and the ACE 12.0 drivers

Upvotes: 1

Views: 77

Answers (0)

Related Questions