Reputation: 41
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