|
Выгрузка
|
|||
---|---|---|---|
#18+
Такой вопрос, у меня есть запрос который создает глобальную временную таблицу в sql, после чего через cmd c помощью утилиты bcp выгружает все в файл. Вот код: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Смысл в том, что когда доходит дело до выгрузки, using закрывает подключение, вместе с которым умирает глобальная временная таблица из которой bcp должен был выгрузить данные. Могу ли я перенести команду cmd в using, или же есть другой вариант выгрузки не используя bcp и cmd? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 19:34 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
OlegEgorov11, Способов полно. Но сначала попробуйте выгружать без промежуточной таблицы. Если вы как пишите вы заполняете ее запросом. Вот этим запросом и сразу выкачивайте данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 21:17 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
в BCP можно указывать имя таблицы, вьюхи и даже запрос, нафига весь этот геморой? можно не используя C# сделать то, что хочет автор, для этого надо просто открыть манул к BCP https://docs.microsoft.com/ru-ru/sql/tools/bcp-utility?view=sql-server-2017 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 21:47 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
Roman Mejtes, нельзя. Так как у меня выгружаются данные в глобальную временную таблицу '##p'. BCP создать ее не может, батник на команду create table ##p ...... просто не понимает что такое ##p, в sql все норм работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 22:05 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
Petro123, нельзя этим же запросом выкачать, потому что как я уже написал, bcp и sqlcmd не понимают ##p - глобальную временную таблицу. как бы можно решить вопрос табличной переменной, но тогда и время в 3 раза увеличится выполнения. Будет ли работать bcp в using после запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 22:07 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
Roman Mejtes, и еще одна проблема, cmd не понимает кириллицу, а в запросе она есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 22:16 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
OlegEgorov11, Напиши сюда псевдокод создания временной таблы. OlegEgorov11Petro123, нельзя этим же запросом выкачать, потому что как я уже написал, bcp и sqlcmd не понимают ##p - глобальную временную таблицу. Я предлагал НЕ создавать временную. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 07:14 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
Petro123, без создания временной можно создать табличную переменную, '@p', так все прекрасно работает, но в 3-4 раза дольше. Запрос выполнить без создания другой таблицы невозможно, потому что в нем идет изменение структуры данных, которые мне нужны из первоначальной таблицы и сортировка идет по полю, которое создается во временной таблице, да и кириллицу все равно cmd не понимает, а в запросе она есть. мне просто нужно понять, как запустить bcp до закрытия соединения с sql. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 07:47 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
OlegEgorov11, У вас разные коннекты. Боюсь ничего не выйдет. Делайте не временную таблу, а постоянную. Либо на ветку бд и тюнинг запросов чтобы время сократить. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 07:54 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
Petro123, Либо на ветку бд и тюнинг запросов чтобы время сократить. А можно подробнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 10:22 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
OlegEgorov11Petro123, Либо на ветку бд и тюнинг запросов чтобы время сократить. А можно подробнее?дайте псвдокод или код создания временной глобальной. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 10:31 |
|
Выгрузка
|
|||
---|---|---|---|
#18+
OlegEgorov11Roman Mejtes, нельзя. Так как у меня выгружаются данные в глобальную временную таблицу '##p'. BCP создать ее не может, батник на команду create table ##p ...... просто не понимает что такое ##p, в sql все норм работает. процедура, которая заполняет таблицу и она же или другая, которая делает запрос хоть кирилицей, хоть китаицей ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 14:52 |
|
|
start [/forum/topic.php?fid=20&msg=39635777&tid=1399401]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 134ms |
0 / 0 |