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


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

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

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

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

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

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

PROSE анализирует шаблоны данных во входном файле и определяет имена столбцов, типы, разделители и т. д. Платформа запоминает структуру файла и выполняет все действия по обработке данных.

Необходимые компоненты

Эта функция доступна в SQL Server Management Studio (SSMS) 17.3 и более поздних версий. Убедитесь, что вы используете последнюю версию. Ее можно найти здесь.

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

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

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

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

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

Учебник

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

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

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

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

Шаг 1. Открытие мастера и страница "Приступая к работе"

Откройте мастер, как описано здесь.

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

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

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

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

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

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

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

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

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

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

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

Столбцы, в которых обнаруживаются пустые значения, будут иметь флажок "Разрешить значения NULL". Однако если вы ожидаете, что значения NULL в столбце и allow Nulls не проверяются, здесь можно обновить определение таблицы, чтобы разрешить значения 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. Если вы ищете обзор интеллектуальной платформы, используемой этим мастером, см . пакет SDK PROSE.