![]() |
Вопрос по mssql: импорт csv в переменную типа table
Вопрос по mssql: как осуществить импорт из файла csv в переменную типа table?
Ситуация: есть ms.sql.2008, файл csv (много строк текста с разделителями, т.е. таблица). Необходима процедура, способная поместить содержимое csv файла в переменную типа table, для дальнейшего построчного анализа. Танцы с бубном вокруг select, insert, bulk и даже подключение файла через линкед сервер не помогают. Кто может подсказать или предложить реально проверенный работающий код? ps: Варианты использования временных таблиц прошу не предлагать. |
|
спасибо, но это не то...
в приведенных статьях идет речь о таблицах. мне же нужно работать с переменной типа table |
В процессе поиска информации выяснилось, что переменная типа table создается в tempdb. Поэтому, проанализировав вот эти статьи
http://en.w3support.net/index.php?db=so&id=27894 http://databases.aspfaq.com/database...-variable.html было принято решение использовать временные таблицы, т.к. в моем случае возможное количество строк в csv превышает рекомендуемую 1000. 2. Тем не менее, чтобы закрыть вопрос, на основе советов iljy было реализовано следующее решение (используя связанные сервера): а. создан связанный сервер: exec sp_addlinkedserver @server = 'csv', @provider = 'MSDASQL', @srvproduct = '', @provstr = 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=c:\import_csv\;' б. написана процедура: declare @csvfile table (id_csv int, name_csv varchar(50)) insert @csvfile select * from openquery (csv, 'select * from [file.csv]') csv; select * from @csvfile |
Часовой пояс GMT +4, время: 22:46. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.