Задача

Мне понадобилось из приложения ASP.NET C# загрузить в базу данных MS SQL немного информации из файлов в формате CSV.

Варианты решения.

Если таблица в базе уже есть, то можно воспользоваться BULK INSERT:

BULK INSERT  [yourdb].[dbo].[yourtable]
  FROM 'C:\temp\yourtextfile.txt'
  WITH
     (
        FIELDTERMINATOR =',',
        ROWTERMINATOR ='\n',
        FirstRow=1
     ); 

Вот другой вариант. Этот код работает только в 32-битных реализациях MS SQL, потому что в 64-бит отсутствует Microsoft Text Driver.

SELECT *
FROM OPENROWSET
('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=C:\test\;', 'SELECT * from Unit__c.csv '); 
Enter your comment. Wiki syntax is allowed:
X O N B O
 
  • ms_windows_ms_sql/c_sharp_7.0_import_data_from_csv_to_sql_database.txt
  • Last modified: 2019/02/11 09:13
  • (external edit)