我正在尝试使用 SSIS 从 dBase 文件中加载一些数据。我从未使用过 dBase。这些文件由第三方应用程序创建。
数据库包含一张表,C:\dbf\exceptions.dbf
在 SSIS 中,我创建了一个Microsoft Jet 4.0 OLE DB Provider
,C:\dbf
作为文件名放入,放入dBASE III
扩展属性(文件的第一个字节是根据this0x03
表示 III )。连接测试正常。
然后我尝试使用该连接管理器添加一个 OLE DB 源。当我单击Name of the table or the view:
下拉列表时,它会正确填充Exceptions
为唯一的表。如果我选择它并点击预览,我会得到
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.
我可以exceptions.dbf
在 DBF Viewer 2000 中打开文件而没有任何问题。
据我所知,不需要输入任何凭据(DBF Viewer 2000 不需要任何凭据,我可以毫无问题地更新行),但连接管理器坚持填写Admin
用户名。
更新:根据 DBF Viewer 2000,文件类型是FoxBase+/dBASE III PLUSE, no memo
更新 2我尝试打开应用程序生成的其他一些表。有些打开,有些给出错误。