|
|
|
SelectBlob и параметры
|
|||
|---|---|---|---|
|
#18+
Работаю с Oracle9i (9.0.1) и PowerBuilder 9.0 Вопрос почему не могу передать больше 460 симоволов в качестве аргумента В PowerBuilder string ls_param ls_param=fill("s",400) если записываю в параметр ls_param больше 460 символов то выходит генерал. selectblob pak.test(:ls_param) into :lbl_html from dual; функция function test (arg_num in varchar2) return clob as rv clob; begin rv := ''; rv := rv || '<tr>' || chr(13); rv := rv || '<td width=30 align=left valign=top>' || fmt_fieldfont('Arial CE', 9) || 'Test' ||arg_num||'</font></td>' || chr(13); rv := rv || '</tr>' || chr(13); --rv := rv || LPAD('*',32000,'*')|| LPAD('*',32000,'*')||arg_num ; return rv; end; второй вариант это объявить её в external function Function string TEST(string ARG_NUM) RPCFUNC ALIAS FOR "PAK.~"TEST~"" и вызвать sqlca.test(ls_param) в этом случае могу передать параметр до 32 к но не могу получить данных больше чем 32к Требуется передавать аргументы больше 2000 символов и получать данные больше 32 к если будут какие то идеи буду очень благодарен спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 18:32 |
|
||
|
SelectBlob и параметры
|
|||
|---|---|---|---|
|
#18+
А какой способ подключения? PBMaxBlobSize не поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 18:48 |
|
||
|
SelectBlob и параметры
|
|||
|---|---|---|---|
|
#18+
Gen_dosТребуется передавать аргументы больше 2000 символов Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 19:19 |
|
||
|
SelectBlob и параметры
|
|||
|---|---|---|---|
|
#18+
Целиком гонять HTML тоже вариант(хотя и не очень) Только тогда в качестве аргументов надо использовать blob ( в Pb) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 19:32 |
|
||
|
SelectBlob и параметры
|
|||
|---|---|---|---|
|
#18+
Локшин МаркА какой способ подключения? PBMaxBlobSize не поможет? Вот так. SQLCA.Database =! SQLCA.dbms = ! SQLCA.servername =! SQLCA.logid = ! SQLCA.logpass =! Connect using sqlca; а по поводу PBMaxBlobSize после того как я объявляю свою функцию function blob TEST(string ARG_NUM) RPCFUNC ALIAS FOR "EXTRAS_PAK.~"TEST~"" и пытаюсь вызвать blob lbl_html lbl_html=sqlca.test( ls_params) он дает ошибку так как на стороне сервера она звучит function test(arg_num in varchar2) return clob; Builder не знает clob а Oracle не устраивает что его пытаются вернуть в blob. так что PBMaxBlobSize не могу использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:49 |
|
||
|
SelectBlob и параметры
|
|||
|---|---|---|---|
|
#18+
spas2001Целиком гонять HTML тоже вариант(хотя и не очень) Только тогда в качестве аргументов надо использовать blob ( в Pb) Вся процедура создания и форматирования документа в HTML коде находится на стороне сервера и пользователем является отнюдь не только Builder. Поэтому обрабатываю на сервере и забираю его целиком. А по поводу аргументов вы имели ввиду передать НЕ selectblob extras_pak.test(string) into :lbl_html from dual; A selectblob extras_pak.test(BLOB) into :lbl_html from dual; что ж это возможно НО уже возникает другая проблема как на стороне Oracle форматнуть blob в clob или varchar для дальнейшей работы.Вот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:07 |
|
||
|
SelectBlob и параметры
|
|||
|---|---|---|---|
|
#18+
DBMS_LOB посмотри А так попробуй передать аргументом массив строк или символов(тоже вариант) Только учти, что гоняется это все чанками по 32к ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:46 |
|
||
|
SelectBlob и параметры
|
|||
|---|---|---|---|
|
#18+
Да но проблема заключается в том что при использовании метода Selectblob function(argument1,argument2 ......) from dual; сумма всех аргументов (любого типа) не может превышать 512 б(плохо) а возврат блоб (нормально) а для sqlca.function(argument) передача argument до 32кб (нормально) но возврат тоже ограничен 32кб (плохо) Возможно есть параметр ?? который изменяет объем передаваемых аргументов для первого случая и объем возвращаемых для втогого. Сижу рою в доке пока нет мыслей. Можно конечно закидывать в базу в какуе то таблицу параметров значение в 32 кб а потом забирать Selectblob но это как бы сказать ну не красиво что ли (слово не могу подобрать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:49 |
|
||
|
SelectBlob и параметры
|
|||
|---|---|---|---|
|
#18+
Да ну ... Я через updateblob блобы только так загонял и больше чем 32к так что посмотри насчет конвертации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 16:51 |
|
||
|
|

start [/forum/topic.php?fid=15&gotonew=1&tid=1337464]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
14ms |
get first new msg: |
9ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 421ms |

| 0 / 0 |
