Импорт в Excel с использованием служб SSIS обрезается до 999 999 строк. Есть идеи почему и как это исправить?
Хорошо, мой первый вопрос здесь, и, по крайней мере, для меня, это загадочный вопрос.
Импорт файла.xlsx с 1 048 576 строками. Я подтвердил количество записей визуально. Когда я попытался импортировать его, используя SSIS, а также используя openrowset в SSMS, он импортировал / считывал только 999 999 строк. Я использую драйвер ACE.OLEDB.12.0 и пытался запустить пакет служб SSIS как в 32-, так и в 64-разрядных системах, но пока разницы нет. Сервер SQL - 2012. Файл Excel экспортирован из SAP BW, поэтому я не могу подтвердить версию, но это формат.xlsx.
Ниже приведена команда openrowset, которую я использую в SSMS (сложнее описать пакет SSIS):
SELECT COUNT(*) as [Rows]
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=YES;Database=\\....\...\SALES_DATA.xlsx; HDR=yes; IMEX=1','SELECT * FROM [CO_SALES$]')
Когда я выполняю вышеупомянутую команду в SSMS, я получаю 999 999, и я ожидаю 1 048 575 (исключая заголовок). Кто-нибудь знает, почему это может происходить? На самом деле я не вижу ничего очевидного ни в одной из этих строк, где они могут давать сбой... Я знаю, что файлы Excel могут вызывать проблемы по сравнению с CSV и вызывать много странных проблем, но кто-нибудь на самом деле импортировал более 999 999 записей из один файл Excel (рабочий лист) успешно?
ТИА, Брайан
1 ответ
Это требует исправления кода в SAP BW, чтобы получить более 999999 записей. Самый простой способ сделать это - обновить BW до последней версии пакета поддержки. Ниже я добавил минимальный SP, необходимый для каждой версии BW, чтобы получить полный набор записей.
BW-версия и необходимый минимальный пакет поддержки:
7.3 - SP15
7.31 - SP18
7.4 - SP15
7.5 - SP3
Вы также можете вручную внести исправления в код, но, к сожалению, я не могу поделиться с вами точными шагами. Если у вас есть доступ к SAP-примечаниям, поищите решение в "2198828".
Надеюсь это поможет.