Загрузка данных из CSV-файла в Базу данных SQL Azure или Управляемый экземпляр SQL (неструктурированные файлы)

Применимо к: База данных SQL Azure Управляемый экземпляр SQL Azure

Для импорта данных из CSV-файла в Базу данных SQL Azure или Управляемый экземпляр SQL Azure можно использовать программу командной строки bcp.

Подготовка к работе

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

Для выполнения задач из этой статьи необходимо следующее:

  • база данных в Базе данных SQL Azure;
  • установленная служебная программа командной строки bcp;
  • установленная служебная программа командной строки sqlcmd.

Вы можете скачать служебные программы bcp и sqlcmd в документации sqlcmd Майкрософт.

Данные в формате ASCII или UTF-16

Чтобы выполнить действия, описанные в этом руководстве, необходимо использовать данные в формате ASCII или UTF-16, так как bcp не поддерживает кодировку UTF-8.

1. Создание целевой таблицы

Определите таблицу в базе данных SQL как целевую таблицу. Столбцы в таблице должны соответствовать данным в каждой строке файла данных.

Чтобы создать таблицу, откройте окно командной строки и используйте sqlcmd.exe для выполнения следующей команды:

sqlcmd.exe -S <server name> -d <database name> -U <username> -P <password> -I -Q "
    CREATE TABLE DimDate2
    (
        DateId INT NOT NULL,
        CalendarQuarter TINYINT NOT NULL,
        FiscalQuarter TINYINT NOT NULL
    )
    ;
"

2. Создание файла исходных данных

Откройте блокнот и скопируйте следующие строки данных в новый текстовый файл, а затем сохраните этот файл в локальный временный каталог (C:\Temp\DimDate2.txt). Эти данные имеют формат ASCII.

20150301,1,3
20150501,2,4
20151001,4,2
20150201,1,3
20151201,4,2
20150801,3,1
20150601,2,4
20151101,4,2
20150401,2,4
20150701,3,1
20150901,3,1
20150101,1,3

Чтобы экспортировать данные из базы данных SQL Server, откройте окно командной строки и выполните команду ниже (необязательно). Замените значения TableName, ServerName, DatabaseName, Username и Password на собственные.

bcp <TableName> out C:\Temp\DimDate2_export.txt -S <ServerName> -d <DatabaseName> -U <Username> -P <Password> -q -c -t ","

3. Загрузка данных

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

bcp DimDate2 in C:\Temp\DimDate2.txt -S <ServerName> -d <DatabaseName> -U <Username> -P <password> -q -c -t ","

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

sqlcmd.exe -S <server name> -d <database name> -U <username> -P <password> -I -Q "SELECT * FROM DimDate2 ORDER BY 1;"

Результат должен выглядеть следующим образом:

DateId CalendarQuarter ФинКвартал
20150101 1 3
20150201 1 3
20150301 1 3
20150401 2 4
20150501 2 4
20150601 2 4
20150701 3 1
20150801 3 1
20150801 3 1
20151001 4 2
20151101 4 2
20151201 4 2

Следующие шаги

Миграция базы данных SQL Server описана в статье Миграция базы данных SQL Server в базу данных SQL в облаке.