imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 20.12.2010, 19:41     # 1
owlman
Newbie
 
Аватар для owlman
 
Регистрация: 03.04.2003
Адрес: Russia
Сообщения: 40

owlman Известность не заставит себя ждать
Вопрос по mssql: импорт csv в переменную типа table

Вопрос по mssql: как осуществить импорт из файла csv в переменную типа table?
Ситуация: есть ms.sql.2008, файл csv (много строк текста с разделителями, т.е. таблица). Необходима процедура, способная поместить содержимое csv файла в переменную типа table, для дальнейшего построчного анализа.
Танцы с бубном вокруг select, insert, bulk и даже подключение файла через линкед сервер не помогают. Кто может подсказать или предложить реально проверенный работающий код?
ps: Варианты использования временных таблиц прошу не предлагать.
__________________
Чем дальше все заходит - тем раньше все это кончится...
owlman вне форума  
Старый 20.12.2010, 21:09     # 2
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
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.
Hubbitus вне форума  
Старый 20.12.2010, 21:31     # 3
owlman
Newbie
 
Аватар для owlman
 
Регистрация: 03.04.2003
Адрес: Russia
Сообщения: 40

owlman Известность не заставит себя ждать
спасибо, но это не то...
в приведенных статьях идет речь о таблицах. мне же нужно работать с переменной типа table
__________________
Чем дальше все заходит - тем раньше все это кончится...
owlman вне форума  
Старый 21.12.2010, 12:49     # 4
owlman
Newbie
 
Аватар для owlman
 
Регистрация: 03.04.2003
Адрес: Russia
Сообщения: 40

owlman Известность не заставит себя ждать
В процессе поиска информации выяснилось, что переменная типа 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
__________________
Чем дальше все заходит - тем раньше все это кончится...
owlman вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 18:53.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.