SSIS dBase data source - "Opening a rowset for "x" failed. Check that the object exists in the database"

StackOverflow https://stackoverflow.com/questions/19431376

  •  01-07-2022
  •  | 
  •  

Question

I'm trying to load some data from a dBase file with SSIS. I've never worked with dBase. The files are created by a third party application.

The database contains one table, C:\dbf\exceptions.dbf

In SSIS, I've created a Microsoft Jet 4.0 OLE DB Provider, put in C:\dbf as the file name, put in dBASE III for the extended properties (the first byte of the file is 0x03 which indicates III accoring to this). The connection tests fine.

I then try to add an OLE DB source, using that connection manager. When I click on the Name of the table or the view: dropdown, it correctly populates Exceptions as the only table. If I select it and hit preview, I get

Exception from HRESULT: 0xC02020E8
Error at ETL Exceptions [OLE DB Source [1]]: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E37.

Error at ETL Exceptions [OLE DB Source [1]]: Opening a rowset for "exceptions" failed. Check that the object exists in the database.

I can open the exceptions.dbf file in DBF Viewer 2000 without any issue.

As far as I know there aren't any credentials that need to be entered (DBF Viewer 2000 doesn't ask for any, and I can update rows without issue), but the connection manager insists on filling in Admin for the username.

Update: according to DBF Viewer 2000, the file type is FoxBase+/dBASE III PLUSE, no memo

Update 2 I tried opening some of the other tables the application generates. Some open, some give that error.

Connection Manager

OLE DB Source

Eror

Was it helpful?

Solution

I've found a workaround. By changing the provider to Microsoft OLE DB Provider for Visual FoxPro, entering the directory path, and leaving everything else default, I can now open the table. I now get the warning:

The component reported the following warnings:

Warning at {FBAE0F44-DE41-4862-8C53-228C63D87A01} [OLE DB Source [1]]: Cannot retrieve the column code page info from the OLE DB provider. If the component supports the "DefaultCodePage" property, the code page from that property will be used. Change the value of the property if the current string code page values are incorrect. If the component does not support the property, the code page from the component's locale ID will be used.

Choose OK if you want to continue with the operation.

Choose Cancel if you want to stop the operation.

Which is perfectly acceptable since we're all about the 1252.

OTHER TIPS

I had the same issue in one of my projects, and I found if your file name is more than 8 characters without extension then you get this error, change your fine name to shorter name and it will work fine.

This error comes when we have a different excel work sheet name in the open set(when you select that excel input component -> properties -> bottom end open set will come). Please check that name from excel work sheet name. if it is having spaces then it is different. Hence, we have to create that excel connection manager again and remap it to the database component.

Thanks!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top