Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Ограничение на длину строки при Spool вызываемого из .bat файла  [new]
May12
Member

Откуда: ТУЛЫП
Сообщений: 877
Здравствуйте.
1. Есть батник
sqlplus user/pass@DB @D:\Maya\Scripts\Spool\spool_.sql

2. Есть sql скрипт
set pagesize 0;
set feedback off;
set serveroutput ON size 32000;
set long 32000;
set linesize 32000;
set recsep off;
set wrap off; 
SET COLSEP '    ';
set HEADING off;

spool 'D:\Maya\Scripts\Spool\out_spool.dat';

select RPAD('A', 15000, 'B') from DUAL;

spool off;


3. Результат

A + 3999 штук B.

Но надо A+14999 штук B.

4. Как получить нужный результ - записанную в одну строку 15000 символов?
Заранее спасибо.
10 апр 12, 14:38    [12393759]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение на длину строки при Spool вызываемого из .bat файла  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
May12
Здравствуйте.
1. Есть батник
sqlplus user/pass@DB @D:\Maya\Scripts\Spool\spool_.sql

2. Есть sql скрипт
set pagesize 0;
set feedback off;
set serveroutput ON size 32000;
set long 32000;
set linesize 32000;
set recsep off;
set wrap off; 
SET COLSEP '    ';
set HEADING off;

spool 'D:\Maya\Scripts\Spool\out_spool.dat';

select RPAD('A', 15000, 'B') from DUAL;

spool off;


3. Результат

A + 3999 штук B.

Но надо A+14999 штук B.

4. Как получить нужный результ - записанную в одну строку 15000 символов?
Заранее спасибо.

эскуэльплюс со всеми вашими его настройками к вашей беде отношения не имеет, потому, что ваш селект возвращает 4000 байт
(в свою очередь, потому, что это лимит для ораклового sql-типа varchar2)

set serveroutput on
exec dbms_output.put_line(RPAD('A', 15000, 'B'))
10 апр 12, 15:56    [12394447]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение на длину строки при Spool вызываемого из .bat файла  [new]
May12
Member

Откуда: ТУЛЫП
Сообщений: 877
Спасибо, orawish. Работает.
мне осталось скрестить свой select и dbms_output.put_line.
например такой
select * from maya.my_iq;

как его засунуть в dbms_output.put_line? пойду читну.
Спасибо еще раз.
10 апр 12, 16:13    [12394576]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить