|
|
|
Unload table
|
|||
|---|---|---|---|
|
#18+
Sybase ASA 9.0.2 Привет всем! У меня такая проблема. Имеется такой код: Код: plaintext 1. С помощью него я экспортирую текст из таблицы БД в текстовый файл. Необходимо разделить выводимый в текстовый файл текст на отдельные строчки, т.е., мне требуется записать каждый столбец из каждой записи таблицы БД в новую строку текстового файла. Например, если у меня есть таблица, состоящая из 2 стобцов и 10 строчек, текстовый файл должен в результате содержать 20 строк. Для разделения строк в файле я использую два символа с ASCII-кодами x0D и x0A в шестнадцатиричном формате. Но приведённый выше SQL-запрос вставляет в текстовый файл только первый ASCII-символ, т.е. Символ с кодом x0D. Если открыть полученный текстовый файл в блокноте, то оказывается, что в него вставляется только один символ и строки оказываются не разделёнными. Все данные из таблицы записываются в файл одной строкой. Этот запрос корректно работает в Interactive SQL с процедурой output, однако такой вариант мне не подходит, т.к. требуется делать экспорт именно из хранимой процедуры. Есть ли какой-нибудь способ, позволяющий разделить эти данные на отдельные строки и вывести резульат в текстовый файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2008, 14:28 |
|
||
|
Unload table
|
|||
|---|---|---|---|
|
#18+
Audrius wrote: > строки оказываются не разделёнными Это проблемы блокнота, а не сервера. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2008, 16:20 |
|
||
|
Unload table
|
|||
|---|---|---|---|
|
#18+
Насчёт блокнота согласен, поскольку, например, для Notepad++ достаточно одного символа x0D, чтобы интерпретировать его как новую строку. Но проблема несколько в ином. Дело в том, что эта SQL-команда записывает асего лишь один символ, т.е. x0D. А мне нужно вставлять в качестве разделителя строк именно два символа. Можно ли это сделать при помощи SQL? unload процедура вставляет почему-то только один символ, несмотря на то, что я указываю ей в качестве параметра 2 символа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2008, 17:06 |
|
||
|
Unload table
|
|||
|---|---|---|---|
|
#18+
Audrius wrote: > Но проблема несколько в ином. Дело в том, что эта SQL-команда записывает > асего лишь один символ, т.е. x0D. А мне нужно вставлять в качестве > разделителя строк именно два символа. Можно ли это сделать при помощи SQL? Подозреваю, что нет, но сослаться на авторитетный источник не могу. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2008, 19:11 |
|
||
|
Unload table
|
|||
|---|---|---|---|
|
#18+
Dim2000 Audrius wrote: > А мне нужно вставлять в качестве > разделителя строк именно два символа. Можно ли это сделать при помощи SQL? Подозреваю, что нет, но сослаться на авторитетный источник не могу. А я могу :) BOL, UNLOAD TABLE statementDELIMITED BY The string used between columns. The default column delimiter is a comma. You can specify an alternative column delimiter by providing a string. However, only the first byte (character) of the string is used as the delimiter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2008, 19:19 |
|
||
|
Unload table
|
|||
|---|---|---|---|
|
#18+
Понятно. Ну а вообще есть какой-нибудь другой способ задать разделители при экспорте данных, используя хранимую процедуру? Или это невозможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 11:11 |
|
||
|
Unload table
|
|||
|---|---|---|---|
|
#18+
xp_read_file ( filename ) а потом уже сделайте замену \x0D на \x0D\x0A при помощи replace а потом обратно в файл :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 11:33 |
|
||
|
Unload table
|
|||
|---|---|---|---|
|
#18+
Да вы че?! Зачем xp_readfile?! Только xp_writefile!!! Делаешь цикл по курсору: "For select do b=b || convert(char,data) || '\x0D\x0A' end for" А потом один раз xp_writefile(b). Все будет в том формате, в котором надо. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 23:21 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=51&tid=2011548]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 345ms |

| 0 / 0 |
