Импорт SQL из Excel с использованием несмежного диапазона? - PullRequest
2 голосов
/ 09 апреля 2011

У меня есть некоторые таблицы Excel, которые я не могу изменить, поскольку они используются другим отделом, и они не изменят их в будущем.Они .xlsm с более чем 500 столбцами (A: TH).Я пытаюсь импортировать их в SQL Server 2008 на 64-битной машине, но у меня огромные проблемы.Все формы импорта в Excel, похоже, обрезают выбранные мной столбцы до первых 255.

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

Это работает нормально и выбирает столбцы A: IV

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
                         'Excel 12.0;Database=C:\NEW.xlsm',
                         'SELECT * FROM [Details Sheet$A:IV]')

Есть ли умный способ сделать что-то похожее с несмежным диапазоном, таким как

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
                         'Excel 12.0;Database=C:\NEW.xlsm',
                         'SELECT * FROM [Details Sheet$C:C,IW:LZ]')

т.е.возьмите ключ в столбце C и дополнительные столбцы IW: LZ?Для меня проблема в том, что использование полного диапазона C: LZ и SELECT [ID],[THIS],[THAT] FROM и т. Д. Не будет работать для полей за пределами 255 столбцов в диапазоне, что очень раздражает!

1 Ответ

0 голосов
/ 12 апреля 2011

Вы пытались использовать SSIS для импорта файлов Excel?Это может быть очень требовательно к типам данных, но я никогда не сталкивался с ограничением, которое я не мог бы обойти с помощью небольшого компонента Script.

Он разработан, чтобы быть высокопроизводительным инструментом ETL дляработы, как то, что вы пытаетесь выполнить.Если вы новичок в этом, ознакомьтесь с этой статьей о импорте всей Википедии в виде XML в несколько таблиц.

Небольшое примечание: вам может потребоваться установить дополнительные драйверы Office длячитать в формате Excel 2007, особенно на 64-битной машине.

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