Share via


Error: "Class not registered"

We have an SSIS package which connects to FoxPro Database. When we run the package, it gets the data from FoxPro database, Sorts it and uploads the data back to the SQL Server. The package works fine when we try to run through BIDS or from Command Prompt (DTExec). However when we schedule the package as a JOB it fails with the below error message

Date 3/1/2009 10:39:00 PM
Log Job History (****)

Step ID 1
Server ****
Job Name SSISTest
Step Name Step1
Duration 00:00:02
Sql Severity 0
Sql Message ID 0
Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 0

Message
Executed as user: <Domain\UserName>. ...ersion 9.00.3042.00 for 32-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 10:39:00 PM
Error: 2009-03-01 22:39:01.82 Code: 0xC0202009
Source: Package Connection manager "\\SSISTest\Foxpro"
Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040154. An OLE DB record is available. 

Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered". End Error
Error: 2009-03-01 22:39:01.82 Code: 0xC020801C Source: Data Flow Task FoxPro [1]
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "\\SSISTest\Foxpro" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. End Error
Error: 200... The package execution fa... The step failed.

"Class not registered" usually means that an activex control in not registered.

Make sure you have installed Microsoft OLE DB Provider for Visual Foxpro on the server. If you have not installed then you can download the provider from the below link
Microsoft OLE DB Provider for Visual FoxPro 9.0 https://www.microsoft.com/downloads/details.aspx?FamilyId=E1A87D8F-2D58-491F-A0FA-95A3289C5FD4&displaylang=en

When you install Microsoft Visual FoxPro, the installation process appears to default to 'Just Me', which would only install the provider for the user doing the installation.  When we log in to the machine as the user that performed the installation using the 'Just Me' option, we can run the package in BIDS without a problem.  However, when the package is configured to run as a job using a different user, the job fails with the above error.

To resolve this issue uninstall the Microsoft Visual FoxPro Oledb Provider from Add/Remove Programs. Then, perform the installation again, ensuring that the 'Everyone' option is chosen.

HTH