Я пытаюсь загрузить некоторые данные из файла dBase с помощью SSIS. Я никогда не работал с dBase. Файлы создаются сторонним приложением.
База данных содержит одну таблицу, C:\dbf\exceptions.dbf
В SSIS я создал Microsoft Jet 4.0 OLE DB Provider
, вставил C:\dbf
в качестве имени файла, вставил dBASE III
для расширенных свойств (первый байт файла — 0x03
, что указывает 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. Я попытался открыть некоторые другие таблицы, создаваемые приложением. Некоторые открываются, некоторые выдают ту ошибку.