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


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

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

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

Import Flat File Wizard is a simple way to copy data from a flat file (for example, .csv or .txt) to a new table in your database. The Import Flat File Wizard supports multiple delimiters, including commas, tabs, semicolons, and pipes, and also supports fixed width data. В этом обзоре описано, почему нужно использовать этот мастер, как его найти, а также приведен простой пример.

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

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

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

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

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

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

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

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

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

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

Tutorial

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

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

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

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

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

Access the wizard as described here.

The first page of the wizard is the welcome page. Если вы не хотите снова видеть эту страницу, вы можете выбрать не показывать эту начальную страницу снова.

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

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

Select browse to select your input file. По умолчанию мастер ищет файлы в форматах CSV и TXT. PROSE определяет, является ли файл разделенным запятыми или форматом фиксированной ширины независимо от расширения файла.

The new table name should be unique, and the wizard doesn't allow you to move further if not.

Screenshot of Import Flat File Wizard Specify Input File menu.

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

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

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

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

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

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

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

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

Шаг 5. Сводка

Это страница сводки, на которой отображается текущая конфигурация. Если возникли проблемы, можно вернуться к предыдущим разделам. Otherwise, selecting finish attempts the import process.

Screenshot of Import Flat File Wizard Summary menu.

Шаг 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, может компенсировать изменения данных из оставшейся части неструктурированного файла.
  • Enabling error reporting in the Modify Columns step, especially by a smaller number, will reveal which rows in the flat file contain data that doesn't fit the selected data types. Например, в плоском файле, где во второй строке появляется ошибка, при выполнении импорта с отчетом об ошибках с диапазоном в 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.

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