Источник данных SSIS dBase — не удалось открыть набор строк для x. Убедитесь, что объект существует в базе данных

Я пытаюсь загрузить некоторые данные из файла 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. Я попытался открыть некоторые другие таблицы, создаваемые приложением. Некоторые открываются, некоторые выдают ту ошибку.

Диспетчер подключений

Источник OLE DB

Ошибка


person Turch    schedule 17.10.2013    source источник
comment
У меня такая же проблема. Два вопроса: 1) Как вы нашли свой тип файла dbf в DBF Viewer 2000? Эта программа прекрасно открывает мой dbf-файл, но мое соединение с OLE DB все еще разрывается. 2) Где вы нашли выбор в SSIS для Microsoft OLE DB Provider для Visual FoxPro? Спасибо.   -  person Woody    schedule 31.10.2013
comment
1) Вид -> Информация о полях. 2) Когда вы редактируете соединение с диспетчером соединений, это верхнее поле с надписью Provider. Возможно, вам придется загрузить его с сайта microsoft.com/en-us. /download/details.aspx?id=14839   -  person Turch    schedule 31.10.2013
comment
Большое спасибо. Я новичок в файлах ГИС и dbf, так что это действительно помогло.   -  person Woody    schedule 31.10.2013


Ответы (3)


Я нашел обходной путь. Изменив провайдера на Microsoft OLE DB Provider for Visual FoxPro, введя путь к каталогу и оставив все остальное по умолчанию, я теперь могу открыть таблицу. Теперь я получаю предупреждение:

Компонент сообщил о следующих предупреждениях:

Предупреждение на {FBAE0F44-DE41-4862-8C53-228C63D87A01} [источник OLE DB [1]]: невозможно получить информацию о кодовой странице столбца от поставщика OLE DB. Если компонент поддерживает свойство "DefaultCodePage", будет использоваться кодовая страница из этого свойства. Измените значение свойства, если текущие значения кодовой страницы строки неверны. Если компонент не поддерживает это свойство, будет использоваться кодовая страница из идентификатора локали компонента.

Выберите OK, если хотите продолжить операцию.

Выберите Отмена, если хотите остановить операцию.

Что вполне приемлемо, так как мы все о 1252.

person Turch    schedule 17.10.2013

У меня была такая же проблема в одном из моих проектов, и я обнаружил, что если ваше имя файла содержит более 8 символов без расширения, вы получите эту ошибку, измените свое хорошее имя на более короткое имя, и оно будет работать нормально.

person Brijesh    schedule 12.01.2016

Эта ошибка возникает, когда у нас есть другое имя рабочего листа Excel в открытом наборе (когда вы выбираете этот компонент ввода excel -> свойства -> нижний открытый набор). Пожалуйста, проверьте это имя из имени рабочего листа Excel. если у него есть пробелы, то это другое. Следовательно, нам нужно снова создать этот диспетчер соединений Excel и переназначить его на компонент базы данных.

Спасибо!

person Rupasa Sushma    schedule 30.08.2017