Ошибка OPENROWSET, если столбец Excel содержит более 8224 символов - PullRequest
0 голосов
/ 05 января 2019

Я использовал OPENROWSET для импорта файла Excel. Сработало, если в столбце <= 8224 символа. Мой код, как показано ниже: </p>

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml;HDR=YES;IMEX=1;Database=E:\Test\TestImport3.xls;', 
'Select * From [Sheet1$]')

Этот тестовый файл имеет только один столбец с 8224 символами и работает без ошибок. Но после того, как я добавил еще 1 символ, возникла ошибка, как показано ниже:

Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)" вернулось сообщение "Внешняя таблица не в ожидаемом формате." Msg 7303, уровень 16, состояние 1, строка 3 Не удается инициализировать источник данных объект поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(Нуль)".

Может ли кто-нибудь дать мне совет? Спасибо и извините за мой плохой английский

1 Ответ

0 голосов
/ 05 января 2019

Я нашел основную причину в этой ссылке: https://support.microsoft.com/en-us/help/2836058/access-errors-during-import-export-to-excel-xls

Существует несколько способов решения этой проблемы:

  1. Вместо этого используйте формат * .xlsx

  2. Ограничить все поля заметок / длинных текстов длиной менее 8224 байтов

  3. При экспорте удалите существующий файл .xls перед выполнением экспорта с тем же именем файла

  4. Откройте файл .xls в Excel перед выполнением импорта / экспорта из Access

enter image description here

...