imho.ws |
![]() |
![]() |
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
![]() |
# 1 |
Newbie
Регистрация: 03.04.2003
Адрес: Russia
Сообщения: 40
![]() |
Вопрос по mssql: импорт csv в переменную типа table
Вопрос по mssql: как осуществить импорт из файла csv в переменную типа table?
Ситуация: есть ms.sql.2008, файл csv (много строк текста с разделителями, т.е. таблица). Необходима процедура, способная поместить содержимое csv файла в переменную типа table, для дальнейшего построчного анализа. Танцы с бубном вокруг select, insert, bulk и даже подключение файла через линкед сервер не помогают. Кто может подсказать или предложить реально проверенный работающий код? ps: Варианты использования временных таблиц прошу не предлагать.
__________________
Чем дальше все заходит - тем раньше все это кончится... |
![]() |
![]() |
# 2 |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
http://blog.sqlauthority.com/2008/02...to-sql-server/
http://haveyougotwoods.com/archive/2...-csv-data.aspx http://huddledmasses.org/importing-c...o-ms-sql-2005/ Не?
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
![]() |
![]() |
# 4 |
Newbie
Регистрация: 03.04.2003
Адрес: Russia
Сообщения: 40
![]() |
В процессе поиска информации выяснилось, что переменная типа 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
__________________
Чем дальше все заходит - тем раньше все это кончится... |
![]() |