Подтвердить что ты не робот

Импорт CSV в SQL Server (включая автоматическое создание таблицы)

У меня есть несколько файлов CSV, которые я хочу импортировать в базу данных SQL Server. Я знаю, возможно ли это с помощью BULK insert, но я хочу решение, так что также таблица импорта автоматически создается до на основе первой строки CSV файлов, это имена столбцов.

4b9b3361

Ответ 1

SQL Server Management Studio предоставляет инструмент мастера импорта/экспорта, который имеет возможность автоматически создавать таблицы.

Вы можете получить к нему доступ, щелкнув правой кнопкой мыши по базе данных в обозревателе объектов и выбрав Задачи- > Импорт данных...

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

Если вам нужны подробные рекомендации, есть много онлайн-гидов, вот хороший: http://www.mssqltips.com/sqlservertutorial/203/simple-way-to-import-data-into-sql-server/

Ответ 2

Вы можете создать переменную таблицы temp и вставить в нее данные, а затем вставить данные в фактическую таблицу, выбрав ее из таблицы temp.

 declare @TableVar table 
 (
    firstCol varchar(50) NOT NULL,
    secondCol varchar(50) NOT NULL
 )

BULK INSERT @TableVar FROM 'PathToCSVFile' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')
GO

INSERT INTO dbo.ExistingTable
(
    firstCol,
    secondCol
)
SELECT firstCol,
       secondCol
FROM @TableVar

GO