Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.11.2018, 15:12
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
Есть varchar(max) переменная, в которой хранится csv файл с большим количеством колонок и строк. Как оптимальнее превратить ее в таблицу? Я вижу вариант такой - сохранить в файл, а потом OPENWORSET считать данные из этого файла. А может быть можно без сохранения в файл обойтись? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 15:18
|
|||
---|---|---|---|
|
|||
Парсинг csv в T-SQL. |
|||
#18+
Oleon, поиск "for xml path" выгрузить из базы, чтобы загрузить в базу это сильно)) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 15:21
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
StarikNavyOleon, поиск "for xml path" выгрузить из базы, чтобы загрузить в базу это сильно)) и посмотреть как всё будет тошнить "файл с большим количеством колонок и строк. " ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 15:48
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
StarikNavyOleon, поиск "for xml path" выгрузить из базы, чтобы загрузить в базу это сильно))А что смешного ? А если базы разные ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 15:55
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
StarikNavyOleon, поиск "for xml path" выгрузить из базы, чтобы загрузить в базу это сильно)) Зато быстро. Особенно, если реально большой. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 15:58
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
Есть процедура, которая по ссылка загружает csv файл в переменную, нужно сделать из нее select. В базе пока ничего нет, наоборот, хочу сохранить, только нужные поля. declare @Result varchar(max) exec fxcDW.dbo.Http_GetData @url = 'https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=1XIJG8AqMYpsoNJQYZNkGvffndjqFb4G0MM6G-U-tJR8&gid=1196739388&exportFormat=csv', @Result = @Result out По строкам могу разбить, сделав string_split, но дальше, еще каждую строку нужно разбить на колонки. вот тут не моогу придумать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 16:19
|
|||
---|---|---|---|
|
|||
Парсинг csv в T-SQL. |
|||
#18+
Oleon строку нужно разбить на колонки. . Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 16:52
|
|||
---|---|---|---|
|
|||
Парсинг csv в T-SQL. |
|||
#18+
Oleon, хорошо еще раз подумайте и не превращайте сервер баз данных в сервер приложений. Не, ну им орехи еще можно колоть, чё. Для загрузки и импорта существуют другие средства, например Integration Services. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 16:59
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
col1col2col31vova3 4petya6 789 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 17:47
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
Небольшой опыт использования пакетов в сравнении с процедурами, говорит о том, что так проще вносить изменения и исправлять баги. Да и по времени получается быстрее и в тестировании. Если нет каких-то больших требований к скорости. то думаю, можно было бы и в процедуре все сделать. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
правда, не пробовал 2.5 мегабайта так развернуть:) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 18:03
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
court - row_number()over(order by ( select 1 )) - вот это интересный ход. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 18:05
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
Oleoncourt - row_number()over(order by ( select 1 )) - вот это интересный ход. row_number()over(order by 1/0) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2018, 18:43
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
Это еще интереснее:) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2018, 05:31
|
|||
---|---|---|---|
|
|||
Парсинг csv в T-SQL. |
|||
#18+
еще может встретиться ORDER BY (SELECT NULL) . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2018, 09:39
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
Владислав Колосовне превращайте сервер баз данных в сервер приложений.SQL Server- есть сервер приложений, разрабатываемых на языке Transact-SQL. Поэтому, его нельзя превратить. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2018, 11:14
|
|||
---|---|---|---|
|
|||
Парсинг csv в T-SQL. |
|||
#18+
tunknown, cool story, но эта парадигма работает лишь для small office home office применений. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2018, 14:18
|
|||
---|---|---|---|
Парсинг csv в T-SQL. |
|||
#18+
Владислав Колосовtunknown, cool story, но эта парадигма работает лишь для small office home office применений.Для импорта использовать не средства импорта, а сервер приложений, к тому же называть SSIS сервером приложений тоже странная парадигма. К тому же ТС решает задачу преобразования данных, из полей одной таблицы, в поля другой таблицы; для этого, конечено, нужно использовать серверы приложений, никак не СУБД? И вообще, парадигмы ентерпрайз/хоум оффис применений заключаются никак не в формальном количестве уровней, это нечто другое. Может быть масштабное, настоящее приложение для крупного бизнеса, сделанное как прога обработчик текстовых файлах, и приложение, тянущее только на хоум офис, при этом сделанное как многоуровневое распределённое решение на джаве, но приименять его в крупном бизнесе будет нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2018, 17:49
|
|||
---|---|---|---|
|
|||
Парсинг csv в T-SQL. |
|||
#18+
alexeyvg, почему Вы называете "средствами импорта" Unsafe CLR процедуру, выполняющую запросы к сторонним веб-ресурсам? Так можно и утку журавлём назвать. Более, чем на small системах с 2-3 многостаночниками такие "интеграции" приведут к заметным проблемам при эволюционной разработке и проблемам в сопровождении кода. Например, если будет принято решение получать данные из других источников. Такие решение относят к технологиям с сильной связностью со всеми вытекающими. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2018, 20:03
|
|||
---|---|---|---|
|
|||
Парсинг csv в T-SQL. |
|||
#18+
BCP 3 волшебные буквы и поиск по ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2018, 20:33
|
|||
---|---|---|---|
|
|||
Парсинг csv в T-SQL. |
|||
#18+
OleonЕсть процедура, которая по ссылка загружает csv файл в переменную, нужно сделать из нее select. А доступа к процедуре у вас нет? Гораздо проще было бы bulk insert аж временную таблицу и уже развлекаться как вам удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.01.2021, 08:12
|
|||
---|---|---|---|
|
|||
Парсинг csv в T-SQL. |
|||
#18+
court, string_split не гарантирует порядок значений https://docs.microsoft.com/ru-ru/sql/t-sql/functions/string-split-transact-sql?view=sql-server-ver15 разделитель может встречаться в значениях, и тогда значение должно быть в кавычках кавычки могут встречаться в значениях и тогда они экранируются становятся двойными. я писал как-то код который всю эту музыку учитывал, но получилось довольно задумчиво. а вообще тема разбора csv на t-sql весьма актуальная по крайней мере для меня, очень хочется поиметь нечто типа csvToJSON в штатном наборе функционала ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&mobile=1&tid=1685163]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 260ms |
0 / 0 |