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

12,382

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.

Share:
12,382
Turch
Author by

Turch

Updated on June 28, 2022

Comments

  • Turch
    Turch almost 2 years

    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