Что является лучшей альтернативой Excel для загрузки данных в базу данных SQL Server?

У меня огромное количество проблем с загрузкой электронных таблиц в базу данных SQL Server.

В настоящее время я использую пакет SSIS для загрузки данных, и мне пришлось внести множество корректировок для загрузки данных:

  • Все номера должны быть отформатированы как текст (в противном случае они не загружаются должным образом).
  • Иногда номерам должна предшествовать одинарная кавычка ('), чтобы заставить их загружаться.
  • Если в столбце есть сочетание ячеек и текстовых ячеек, текстовые ячейки должны быть первыми в файле (в противном случае загружаются только цифры и текст в виде NULL).
  • Если пользователь меняет имя столбца, файл не загружается.
  • Если пользователь изменяет имя вкладки, файл не загружается.
  • Если пользователь добавляет новый столбец (даже в конце листа), файл не загружается.
  • К счастью, лишние листы в файле не являются проблемой!
  • Даты кажутся чувствительными, правильно ли они будут загружаться.
  • Строки подключения к файлу Excel должны содержать «IMEX = 1» или все хуже.
  • Запланированные задания SSIS должны выполняться как 32-разрядные даже в 64-разрядной системе.

Я загружал данные (обычно 200 000-500 000 строк на файл) в таблицу со всеми полями, определенными как nvarchar . Затем при загрузке я переношу эти данные на следующем шаге пакета SSIS в рабочую таблицу с введенными полями данных.

Все требования, которые я должен наложить пользователю на то, как форматировать файл Excel, на самом деле являются болью. Обычно нам нужно отправить файл обратно несколько раз, пока все проблемы форматирования не будут корректными до загрузки файла. Я бы хотел уничтожить этот трэш.

Я знаю, что я не единственный, кто сталкивается с этим типом проблемы. Итак, я должен спросить …

Что является лучшей альтернативой Excel для загрузки данных в базу данных SQL Server?

Или я об этом неправильно? Должен ли я использовать что-то другое, кроме SSIS, для загрузки таблиц Excel?

Вы можете попробовать OpenRowSet:

 SELECT * INTO SomeTable From OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=\\servername\c$\filename.xls;HDR=YES;IMEX=1', [Sheet2$]) 

На самом деле это не SQL-ответ, а простой:

Вы можете потребовать от пользователей копирования и вставки данных в таблицу Excel, где все, кроме полей данных, которые будут включены, заблокированы. Это предотвратит многие описанные пункты боли.

  • Как загрузить часть имени файла excel в SSIS
  • используя ssis 2008 для чтения ячейки файла с фиксированным форматом excel
  • Преобразование даты из импорта Excel
  • SSIS: контейнер для конвейера forEach: циклическое перемещение по листам Excel с колонками Uniforn, но с разными названиями листов
  • Загрузка данных Excel из нескольких файлов Excel в таблицы серверов Sql
  • Результат объединения SSIS
  • Импорт данных из Excel в SSIS, пустые значения
  • Создание таблицы в SQL Server на основе строки определения в Excel Без использования выборки
  • Формула Excel изменяется при динамическом добавлении столбцов
  • Сценарий для записи данных Excel в базу данных SQL Server
  • Распаковать таблицу Excel для использования сервера sql sql
  • Interesting Posts

    Содержит метод Не работает HashSet Java

    Результаты автофильтра отрезной пасты на другой лист

    Хранить большое количество в ячейке с помощью PHPExcel

    Использование VBA FileSystemObject, определенного файла Расширение файла

    Выпадающий список Excel из нескольких столбцов

    Получить определенную ячейку, когда другая ячейка самая большая, вторая по величине и третья по величине

    Согласование любой ячейки в одном диапазоне ячеек с любой ячейкой другой диапазон ячеек

    codeigniter конвертировать файл excel в pdf

    Диапазон VBA Sum, включая вариант

    Использование XLConnect для чтения в xls

    Проблемы с чтением файла .xlsx?

    Метаданные OData WebApi / Описание

    Рассчитайте, сколько раз определенное слово появляется в одном столбце в течение недели, которое подпадает под

    C # BackgroundWorker для записи в Excel 2007 через сервер, отправляющий сообщения

    Создание нескольких списков проверки данных без ссылки на один и тот же диапазон EXCEL VBA

    Давайте будем гением компьютера.