Поделиться через


Мастер импорта неструктурированных файлов в SQL

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Сведения о содержимом, связанном с мастером импорта и экспорта, см. в разделе "Импорт и экспорт данных" с помощью мастера импорта и экспорта SQL Server.

Мастер импорта неструктурированных файлов — это простой способ копирования данных из неструктурированного файла (например, .csv или .txt) в новую таблицу в базе данных. Мастер импорта неструктурированных файлов поддерживает несколько разделителей, включая запятые, вкладки, точки с запятой и каналы, а также поддерживает данные фиксированной ширины. В этом обзоре описано, почему нужно использовать этот мастер, как его найти, а также приведен простой пример.

Зачем мне использовать этот мастер?

Этот мастер создан на основе интеллектуальной платформы Program Synthesis using Examples (PROSE) и позволяет улучшить текущий процесс импорта. Для пользователей, которые не обладают глубокими знаниями в предметной области, импорт данных часто представляет собой трудную и утомительную задачу, чреватую ошибками. Процесс импорта значительно упрощается с помощью этого мастера: достаточно выбрать входной файл и уникальное имя таблицы, а остальное сделает платформа PROSE.

PROSE анализирует шаблоны данных во входном файле и определяет имена столбцов, типы, разделители и т. д. Фреймворк изучает структуру файла и выполняет всю сложную работу, чтобы пользователи не беспокоились об этом.

Необходимые условия

Установите последнюю версию SQL Server Management Studio (SSMS).

Начало работы

Чтобы открыть мастер импорта неструктурированных файлов, выполните следующие действия.

  1. Откройте SQL Server Management Studio.
  2. Подключитесь к экземпляру ядра СУБД SQL Server или к узлу localhost.
  3. Разверните базы данных, щелкните правой кнопкой мыши базу данных (тестируйте в следующем примере), наведите указатель на задачи и выберите "Импортировать неструктурированный файл " над импортом данных.

Снимок экрана: меню импорта неструктурированных файлов.

Дополнительные сведения о различных функциях мастера см. в следующем руководстве:

Tutorial

Для целей этого руководства вы можете использовать свой собственный плоский файл. В противном случае в этом руководстве используется следующий CSV-файл из Excel, который вы можете скопировать. Назовите этот файл example.csv и сохраните его в формате CSV в удобном месте, например на рабочем столе.

Снимок экрана: Excel.

Общие сведения.

  1. Мастер доступа
  2. Указание входного файла
  3. Предварительный просмотр данных
  4. Изменение столбцов
  5. Сводка
  6. Результаты

Шаг 1. Доступ к мастеру и вводной странице

Получите доступ к мастеру, как описано в разделе "Начало работы".

Первая страница мастера — это страница приветствия. Если вы не хотите снова видеть эту страницу, вы можете выбрать не показывать эту начальную страницу снова.

Снимок экрана: меню

Шаг 2. Указание входного файла

Выберите пункт "Обзор", чтобы выбрать входной файл. По умолчанию мастер ищет файлы в форматах CSV и TXT. PROSE определяет, является ли файл разделенным запятыми или форматом фиксированной ширины независимо от расширения файла.

Новое имя таблицы должно быть уникальным, и мастер не позволит продолжить работу, если это не так.

Снимок экрана мастера импорта плоских файлов: меню

Шаг 3. Предварительный просмотр данных

Мастер открывает окно предварительного просмотра для первых 50 строк данных. Если возникли проблемы, нажмите кнопку "Отмена", в противном случае перейдите на следующую страницу.

Снимок экрана: меню

Шаг 4. Изменение столбцов

Мастер определяет, что он считает правильными именами столбцов, типами данных и т. д. Вот где можно изменить поля, если они неверны (например, тип данных должен быть плавающей, а не int).

Столбцы, в которых обнаруживаются пустые значения, будут иметь установленный флажок "Разрешить значения NULL". Однако, если вы ожидаете значения NULL в столбце и опция "Разрешить Null" не отмечена, здесь вы можете изменить определение таблицы, чтобы разрешить NULL в одном или всех столбцах.

Когда все будет готово, нажмите кнопку "Далее".

Снимок экрана: меню

Шаг 5. Сводка

Это страница сводки, на которой отображается текущая конфигурация. Если возникли проблемы, можно вернуться к предыдущим разделам. В противном случае выбор «Завершить» инициирует процесс импорта.

Снимок экрана: меню

Шаг 6. Результаты

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

Снимок экрана: меню

Устранение неполадок

Мастер импорта неструктурированных файлов определяет типы данных на основе первых 200 строк. В сценариях, когда данные в неструктурированном файле не соответствуют автоматически обнаруженным типам данных, во время импорта возникает ошибка. Сообщение об ошибке будет выглядеть следующим образом:

Error inserting data into table. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. (System.Data)
String or binary data would be truncated. (System.Data)

Тактики устранения этой ошибки:

  • Расширение размеров типов данных на шаге "Изменение столбцов", например длина столбца nvarchar, может компенсировать изменения данных из оставшейся части неструктурированного файла.
  • Включение отчетов об ошибках на шаге «Изменить столбцы», особенно с меньшим количеством, покажет, какие строки в плоском файле содержат данные, которые не соответствуют выбранным типам данных. Например, в плоском файле, где во второй строке появляется ошибка, при выполнении импорта с отчетом об ошибках с диапазоном в 1 появляется конкретное сообщение об ошибке. Осмотр файла непосредственно на месте позволяет вносить более целенаправленные изменения в типы данных на основе данных в определённых строках.

Снимок экрана ошибки в мастере импорта плоского файла, сообщающего результаты.

Error inserting data into table occurred while inserting rows 1 - 2. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type float of the specified target column. (System.Data)
Failed to convert parameter value from a String to a Double. (System.Data)

В настоящее время импортер использует кодировку на основе активной кодовой страницы системы. На большинстве компьютеров по умолчанию используется ANSI.

Дополнительные сведения о мастере.

  • Дополнительные сведения об импорте из других источников. Если вы хотите импортировать больше неструктурированных файлов, ознакомьтесь с мастером импорта и экспорта данных SQL Server.
  • Дополнительные сведения о подключении к неструктурированным источникам файлов. Дополнительные сведения о подключении к неструктурированным источникам файлов см. в статье "Подключение к источнику данных с неструктурированными файлами" (мастер импорта и экспорта SQL Server).
  • Дополнительные сведения о PROSE. Если вы ищете обзор интеллектуального фреймворка, используемого этим мастером, см. PROSE SDK.