Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 парсинг и динамическая трансформация string в SSIS  [new]
borovic
Member

Откуда: Минск
Сообщений: 13
SSIS читает текстовое поле varchar(max) из таблицы в MS SQL Server 2008, задача: вырезать из него все куски текста между угловыми скобками ('<' & '>'), включая сами скобки и записать очищенный текст в поле другой таблицы.
Основная проблема - количество таких кусков (количество пар угловых скобок) в поле нефиксированное: может не быть вовсе, может быть несколько тысяч
По идее напрашивается читать через курсор в T-SQL или через VBscript обрабатывать. Первый вариант для меня был быпроще, но execute SQL task только в Control Flow доступен и похоже поддерживает только чистый непроцедурный SQL, второй вариант - темноватый лес, может шаблон подобного скрипта кто то может расшарить..
Приветствуются и другие предложения по теме.
13 июн 13, 00:27    [14425887]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
borovic
SSIS читает текстовое поле varchar(max) из таблицы в MS SQL Server 2008, задача: вырезать из него все куски текста между угловыми скобками ('<' & '>'), включая сами скобки и записать очищенный текст в поле другой таблицы.

Если в разные строки (по числу кусков), проще написать соответствующую табличную функцию на CLR, например.
13 июн 13, 07:10    [14426108]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
borovic
Member

Откуда: Минск
Сообщений: 13
tpg,

В одну строку пишется все, просто без вырезанных кусков.
Пока сделал просто SQL функцию с переменными и циклом, работает как надо, думаю как к SSIS прикрутить ее - я с ним пока слабо знаком.
Еще в сторону Regexp надо посмотреть.
13 июн 13, 07:19    [14426114]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
borovic
tpg,

В одну строку пишется все, просто без вырезанных кусков.
Пока сделал просто SQL функцию с переменными и циклом, работает как надо, думаю как к SSIS прикрутить ее - я с ним пока слабо знаком.

Это зависит от структуры вашего пакета. Если всё идет через Data Flow, то пишется просто запрос с использованием этой SQL функции.
13 июн 13, 08:26    [14426184]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
borovic
Member

Откуда: Минск
Сообщений: 13
tpg
borovic
tpg,

В одну строку пишется все, просто без вырезанных кусков.
Пока сделал просто SQL функцию с переменными и циклом, работает как надо, думаю как к SSIS прикрутить ее - я с ним пока слабо знаком.

Это зависит от структуры вашего пакета. Если всё идет через Data Flow, то пишется просто запрос с использованием этой SQL функции.


Да, Dataflow. А в какой transformation task запрос с вызовом функции можно вставить?
13 июн 13, 15:31    [14429099]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
borovic
Member

Откуда: Минск
Сообщений: 13
borovic
tpg
пропущено...

Это зависит от структуры вашего пакета. Если всё идет через Data Flow, то пишется просто запрос с использованием этой SQL функции.


Да, Dataflow. А в какой transformation task запрос с вызовом функции можно вставить?


вставил как sql command в OLE DB источнике.
13 июн 13, 21:20    [14430715]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
borovic
куски текста между угловыми скобками ('<' & '>')

Не XML-ник случайно парсите?
14 июн 13, 10:08    [14432172]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
borovic
Member

Откуда: Минск
Сообщений: 13
gang
borovic
куски текста между угловыми скобками ('<' & '>')

Не XML-ник случайно парсите?


Там некоторые строки текст, некоторые HTML, из файла так приходит.
14 июн 13, 15:12    [14434308]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
script component
Guest
может вам проще прямо в SSIS пакете, использую script component, на дотнете написать разбор ваших строк?
14 июн 13, 16:23    [14434656]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
borovic
Member

Откуда: Минск
Сообщений: 13
script component
может вам проще прямо в SSIS пакете, использую script component, на дотнете написать разбор ваших строк?


См. первое сообщение. Мне сложнее, просил образец.
14 июн 13, 17:03    [14434896]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
Jovanny
Member

Откуда:
Сообщений: 1195
Всё-таки настоятельно рекомендую CLR. Если это HTML или XML, то распарсить в XmlDocument или XDocument, а у них есть свойства InnerText или Value, которые возвращают всё, что вне скобок. Текст скрипта - в несколько строк.
15 июн 13, 18:33    [14437110]     Ответить | Цитировать Сообщить модератору
 Re: парсинг и динамическая трансформация string в SSIS  [new]
borovic
Member

Откуда: Минск
Сообщений: 13
Jovanny
Всё-таки настоятельно рекомендую CLR. Если это HTML или XML, то распарсить в XmlDocument или XDocument, а у них есть свойства InnerText или Value, которые возвращают всё, что вне скобок. Текст скрипта - в несколько строк.

Спасибо , возьму на заметку.
15 июн 13, 21:31    [14437368]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить