Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Занесение данных из CSV из строки в таблицу / 15 сообщений из 15, страница 1 из 1
18.02.2018, 22:49
    #39603833
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
Реализована CLR функция которая отправляет запрос по HTTP к серверу и в ответ получает текст NVARCHAR(max) формата csv.
Типа:
Колонка1\tКолонка2\tКолонка3
Данные1\tДанные2\tДанные3
Данные4\tДанные5\tДанные6

которые необходимо занести в таблицу.
Вопрос состоит в том, как обратиться к этим данным и какие варианты существуют для решения поставленной задачи?
...
Рейтинг: 0 / 0
18.02.2018, 22:56
    #39603836
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
lex452,

если у вас уже есть CLR функция, допилите ее что бы она вам возвращала не скалярный результат а сразу резалт сет.
...
Рейтинг: 0 / 0
18.02.2018, 22:57
    #39603837
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
felix_fflex452,

если у вас уже есть CLR функция, допилите ее что бы она вам возвращала не скалярный результат а сразу резалт сет.

Типа чтобы сразу сама данные вставляла через SqlBulkCopy или что вы имеете ввиду?
...
Рейтинг: 0 / 0
18.02.2018, 23:01
    #39603840
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
lex452,

нет что бы она вам возвращала не строку вида:

'Колонка1\tКолонка2\tКолонка3'

а возвращала результирующий набор вида

1 as [номер строки], 'Данные1' AS [Колонка1], 'Данные2' AS [Колонка2], 'Данные3' AS [Колонка3]
2 as [номер строки], 'Данные4' AS [Колонка1], 'Данные5' AS [Колонка2], 'Данные6' AS [Колонка3]
...
Рейтинг: 0 / 0
18.02.2018, 23:02
    #39603841
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
felix_ff,

Не совсем понимаю что это мне даст, мне все разно нужно будет к ним как-то обратиться, они же также вернуться в виде строки.
...
Рейтинг: 0 / 0
18.02.2018, 23:02
    #39603842
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
и тогда у вас конечная инструкция будет иметь вид что то типа:
Код: sql
1.
2.
 insert into result_table
   exec [dbo].[get_csv_file] ('somethig');



не придется ничего лишнего парсить.
...
Рейтинг: 0 / 0
18.02.2018, 23:03
    #39603844
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
lex452,

они вернутся не в виде строки а в виде результирующего набора, т.е. у вас уже будет не скалярная CLR функция а табличная CLR функция
...
Рейтинг: 0 / 0
18.02.2018, 23:05
    #39603845
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
...
Рейтинг: 0 / 0
18.02.2018, 23:06
    #39603847
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
felix_ff,

Уже читаю, не знал что можно возвращать таблицу. Спасибо
...
Рейтинг: 0 / 0
18.02.2018, 23:08
    #39603849
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
lex452,

а вообще даже лучше все завернуть в CLR процедуру вместо функции что бы результирующий набор был с плавающим числом столбцов.
...
Рейтинг: 0 / 0
18.02.2018, 23:17
    #39603851
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
felix_ff,

Интересный вариант, нужно попробовать. Но я надеялся что есть вариант типа openrowset, но без сохранения данных в файл
...
Рейтинг: 0 / 0
18.02.2018, 23:39
    #39603855
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
lex452,

Вообще все что касается веба по хорошему заворачивать вообще в отдельное приложение, которое будет мониторить поступающие запросы (таблица/очередь service broker) выполнять их на стороне приложения и уже по готовности результата заливать на сервер.

А сам сервер доступа во вне не имел.
...
Рейтинг: 0 / 0
19.02.2018, 10:54
    #39604016
Занесение данных из CSV из строки в таблицу
Автор не указал @@version, в связи с этим я рискнул заглянуть в свой хрустальный шар и увидел решение в использовании для возвращаемого результата вместо csv формата, xml или json.
...
Рейтинг: 0 / 0
19.02.2018, 10:59
    #39604018
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
lex452,

а каким мозговым штурмом был выбран формат возврата csv? переделайте в xml как советуют и не придумывайте велосипеды сразу на костылях
...
Рейтинг: 0 / 0
19.02.2018, 12:59
    #39604114
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Занесение данных из CSV из строки в таблицу
TaPaK,

Csv с целью уменьшения данных передаваемых по сети. Есть и json его сейчас и заношу. Но слишком много избыточных данных. Sql server 2017
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Занесение данных из CSV из строки в таблицу / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]