Импорт CSV файла в SQL Server Management Studio - нет доступных таблиц

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

Любые предложения? Спасибо!

Ответы

Ответ 2

Кирилл ответ по правильному пути. Однако настоящее CSV-совместимое решение существует с тех пор, как SQL Server 2017 (14.x) CTP 1.1.

Используйте это

BULK INSERT destinationtable
FROM 'filepath'
WITH
(
FORMAT = 'CSV'
)
GO

Хотя есть проблема. Если ваши данные используют NULL для обозначения нулей, вам нужно удалить их, поскольку MSSQLSMS не примет NULL в качестве допустимого значения NULL. Выполните поиск/замену ,NULL на ,.

Например (4 столбца):

1,NULL,test,"Escaped text with comma, this works"

должен быть отформатирован так:

1,,test,"Escaped text with comma, this works"

См. SQL не вставит нулевые значения с помощью BULK INSERT для получения информации о проблемах вставки NULL.

Вы можете перейти к https://docs.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql?view=sql-server-2017 для получения дополнительной информации.