Как разбить большой файл Excel на несколько маленьких файлов в SSIS? - PullRequest
2 голосов
/ 01 июня 2019

Я хочу прочитать файл Excel размером 250 МБ, содержащий более 300 000 строк. Поэтому, когда я пытаюсь обработать его в источнике Excel в SSIS, это занимает слишком много времени и, наконец, не удалось обработать. Может кто-нибудь сказать мне, как разделить файл или любой другой метод, который может помочь?

Ответы [ 2 ]

0 голосов
/ 01 июня 2019

Лучший способ - читать данные по частям, я сделал это, чтобы прочитать огромные таблицы из баз данных SQL.Но чтобы читать большие файлы Excel, я реализовал это в приложении C #, а не в SSIS, поскольку это более сложно.Я предоставлю некоторые ссылки для получения дополнительной информации:

Если вам нужно сделать это только с помощью служб SSIS, я могу предоставитьподробный ответ позже, подобный тому, что я предоставил в первой ссылке выше (SQLite).

SchemaMapper: библиотека классов отображения схемы C #

Недавно я начал новый проект на Git-Hub, которыйбиблиотека классов, разработанная с использованием C #.Вы можете использовать его для импорта табличных данных из Excel, Word, PowerPoint, Text, CSV, HTML, JSON и XML в таблицу сервера SQL с другим определением схемы с использованием подхода сопоставления схемы.Это дает возможность импортировать большие файлы Excel.проверить это по адресу:

Вы можете следовать этой странице вики для пошагового руководства:

0 голосов
/ 01 июня 2019

SQLCMD лучше, потому что время ожидания НАМНОГО дольше.Но чем вам нужно сохранить Excel как CSV, и я не знаю, возможно ли это для вас.

Если у вас есть файл CSV (например, BulkDataFile.csv), и вы создаете файл, подобный этому:

BULK INSERT dbo.TableForBulkData
FROM 'C:\BulkDataFile.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)

Тогда вы можете использовать SQLCMD -E -I import.sql (из вас сохранить файл как import.sql)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...