Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста в решении проблемы. Имеется таблица где есть 10 столбцов и 3 тысячи строк. Используя команду bcp, я экспортирую данные из таблицы в файл txt данные. Они попадают в него одной строкой. Используя разделить строки, ROWTERMINATOR ='\n', можно ли сделать так, чтобы например первые 7 столбцов были на 1 строке, а начиная с 8 столбца данные попадали на вторую строку, а с 3-й строки шла уже новая запись с таблицы sql в том же формате, т.е. 7 столбцов на 3 строке, 3 столбца на 4й и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 20:05 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Т.е. как сделать разделение строк в результирующем файле по названию столбца, но чтобы оставшиеся столбцы попадали на следующую строку. поле имеет тип данных varchar 100 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 20:07 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Скармливайте bcp не таблицу, а запрос, который собирает все поля записи в одно текстовое со всеми нужными разделителями, переводами строк и прочей шелухой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 20:18 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Akina, а вы не могли бы привести пример селекта, где выводится результат в том формате, какой я описал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 20:49 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
OlegEgorov11можно ли сделать так, чтобы например первые 7 столбцов были на 1 строке, а начиная с 8 столбца данные попадали на вторую строкувопрос, а зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 20:49 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, нужно для одного проекта, по другому никак не решить. Возможно ли запросом на выборку в самом sql сделать такое? либо же создать временную таблицу куда будут копироваться строки в таком формате поле чего уже с помощью bcp сделать то, что мне нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 21:33 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
вас устроит если в файле будет вот так: p1;p2;p3;p4;p5 p6;p7;;;; p1;p2;p3;p4;p5 p6;p7;;;; здесь разделитель ; для наглядности ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 21:53 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, да, это именно то, что мне нужно. столбец p5 имеет тип данных varchar(100). не могу понять как сделать, чтобы при экспорте в текстовый файл было именно такое представление. Выше посоветовали сделать именно выборку такую в sql сначала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 21:56 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
OlegEgorov11Дедушка, да, это именно то, что мне нужно. столбец p5 имеет тип данных varchar(100). не могу понять как сделать, чтобы при экспорте в текстовый файл было именно такое представление. Выше посоветовали сделать именно выборку такую в sql сначала. 2 раздельных текстовых файла, у которых будет одинаковое количество строк. И простой скрипт на powershell, который сделает третий файл, читая первую строку из первого файла, затем первую из второго, затем вторую из первого и вторую из второго и так далее. Кошерных примеров в гугле можно найти таки вагон и небольшую тележку. Нужно поступать как советские инженеры - максимально упрощать задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 21:58 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, для примера, у меня сейчас все идет в одну строку: p1p2...p7. Если р1 имеет varchar(4) а в таблице только 3 символа то в текстовом файле записывается 3 символа и один пробел. То же самое и с р5, у него в таблице 100 символов, но там в основном занято по 60-70, остальное пробелы в текстовом файле. И мне нужно чтобы после пробелов, после 100 символов остальное шло на следующую строку и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 21:59 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, гениально, спасибо большое. Попробую так, но мне кажется, что можно сделать это все и в sql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 22:00 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, посмотрел материал по поводу объединения двух текстовых файлов, пишут что очень долго делает даже небольшие объемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 22:14 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
OlegEgorov11Andy_OLAP, посмотрел материал по поводу объединения двух текстовых файлов, пишут что очень долго делает даже небольшие объемы Попробуйте готовое решение . Думаю, скорость будет приемлимой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 22:17 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
OlegEgorov11, Только там в одну строку соединяют 2 строки, а Вам нужно с разделителем, чтобы тоже 2 строки получилось. Цикл отработает достаточно быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 22:18 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Так как столбец после которого нужно внести разделение имеет 10 и более пробелов возможно ли сделать разделение при помощи bcp, где разделителем выступают пробелы, как например((**\t**, end, !!!!!!!!!!, \t—\n и т. д.)), в этом случае я просто в bcp после запроса добавлю скобки в которых будут пробелы ( )? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 22:22 |
|
||
|
Экспорт из таблицы 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. далее выгрузка через bcp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 22:25 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, спасибо)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 22:34 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, подскажите, тот запрос, что вы написали, он представляет матрицу(А1,В1,С1и т.д) в формате который мне нужен, но как сделать выборку в этом формате из селектра, где построчно выводится тысячи строк к примеру из 10 столбцов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 10:11 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, я, так понимаю, что нужно вместо матрицы добавить селект, но тогда ругается на несовместимость values, хотя в начале запроса я исправляю, как у меня в таблице, varchar и т.д ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 10:31 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, или нужно делать весь этот запрос из нужного мне селекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 11:31 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
OlegEgorov11, @p - это ваша таблица (замените @p на dbo.MyTable, например) в t1 поля p1, p2, p3 это поля вашей таблицы которые "должны быть в первой строке файла", а в t2 поля p4, p5 это оставшиеся поля вашей таблицы которые "должны быть во второй строке файла" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 11:53 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, при замене в 4х местах @р на имя таблицы, после дбо, в первом месте, подчеркивает точко, как некорректный синтаксес ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 12:26 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, а можно в этом запросе где нибудь вставить условие, либо же делать отдельно запрос с условием и от него уже этот запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 19:39 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Получайте нужные вам данные любым нужным вам запросом. Сохраняйте результат этого запроса во временную таблицу (#p, например). В приведённом выше коде убираете создание и заполнение таблицы @p (тестовая). В t1 и t2 заменяете @p на #p. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 19:57 |
|
||
|
Экспорт из таблицы sql в текстовый файл.
|
|||
|---|---|---|---|
|
#18+
Дедушка, спасибо, у меня все получилось, только один вопрос. Можно ли как то убрать столбец с номером, я понимаю что по нему идет сортировка, но он мне сильно мешается, есть вариант засунуть весь этот запрос в подзапрос и оттуда уже выбрать без столбца этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 20:34 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39628162&tid=1689920]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 300ms |
| total: | 444ms |

| 0 / 0 |
