SSIS — внешняя таблица не соответствует ожидаемому формату и файлам .xls

В преобразовании SSIS ETL я пытаюсь загрузить определенный файл .xls. У меня есть несколько одинаковых файлов с похожими схемами, и все они работают корректно. Однако этот файл выдает ошибку «Внешняя таблица не соответствует ожидаемому формату». Это то, что я пробовал:

  • Я уже изменил строку подключения с Jet OLEDB на ACE OLEDB, безрезультатно.
  • Менял тип подключения с Excel 97-2003 на 2007, результата нет.
  • Диспетчер соединений использует переменную, поэтому я попытался создать другой диспетчер соединений, который напрямую загружает файл. Безрезультатно.
  • Я использую SQL-запрос для чтения из файла, поэтому я попытался прочитать листы, которые есть в файле. Они не загружаются.
  • Я попробовал "Сохранить как..." и использовал Excel 97-2003.
  • Я попытался пересохранить файл.
  • Пробовал восстановить исходный файл.
  • Я проверил листы, которые есть в файле, и сравнил их с аналогичным, который загружается. По крайней мере, у обоих одинаковые листы.

Что еще более странно, так это то, что файл загружается правильно, если я оставляю его открытым в Excel, пока он загружается в SSIS. В качестве дополнительной информации:

  • В файле есть макросы, как и в остальных файлах.
  • Мой компьютер работает на 32-битной архитектуре.
  • Я использую Visual Studio 2010 + SQL Server 2012.

Что еще может вызвать эту ошибку?

РЕДАКТИРОВАТЬ: Теперь я попытался настроить источник ADO.NET и источник OLEDB для открытия файла .xls. ADO.NET не может «извлекать информацию из столбцов», а OLEDB закрывает соединение. Может быть, есть способ узнать, когда чтение файла excel не удается?

Я также попробовал кое-что очень хитрое: я проверил средство просмотра событий и заметил несколько ошибок, поэтому я быстро поискал в Google и исправил их. Он был связан с SSIS, но его исправление не устранило ошибку.


person Carlos Vergara    schedule 30.07.2014    source источник


Ответы (2)


В конце концов я сделал кое-что гораздо проще: я преобразовал файлы в .xlsx и сделал свой диспетчер соединений Excel 2007. Хотя я отмечу другой ответ, если он лучше моего, я оставлю это для других людей с похожими проблемами.

person Carlos Vergara    schedule 30.07.2014

Я столкнулся с той же проблемой в одном пакете SSIS, чтобы решить эту проблему.

используйте шаг ниже.

введите здесь описание изображения

введите здесь описание изображения

person hardik rawal    schedule 28.02.2018