Импорт в 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".

Надеюсь это поможет.

Другие вопросы по тегам