powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / SelectBlob и параметры
10 сообщений из 10, страница 1 из 1
SelectBlob и параметры
    #34158853
Gen_dos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю с 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 к
если будут какие то идеи буду очень благодарен спасибо
...
Рейтинг: 0 / 0
SelectBlob и параметры
    #34158899
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какой способ подключения? PBMaxBlobSize не поможет?
...
Рейтинг: 0 / 0
SelectBlob и параметры
    #34158971
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gen_dosТребуется передавать аргументы больше 2000 символов Зачем?
...
Рейтинг: 0 / 0
SelectBlob и параметры
    #34159001
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Целиком гонять HTML тоже вариант(хотя и не очень)
Только тогда в качестве аргументов надо использовать blob ( в Pb)
...
Рейтинг: 0 / 0
SelectBlob и параметры
    #34159893
Gen_dos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин МаркА какой способ подключения? 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 не могу использовать.
...
Рейтинг: 0 / 0
SelectBlob и параметры
    #34159972
Gen_dos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 для дальнейшей работы.Вот
...
Рейтинг: 0 / 0
SelectBlob и параметры
    #34160168
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBMS_LOB посмотри
А так попробуй передать аргументом массив строк или символов(тоже вариант)
Только учти, что гоняется это все чанками по 32к
...
Рейтинг: 0 / 0
SelectBlob и параметры
    #34160751
Gen_dos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да но проблема заключается в том что при использовании метода
Selectblob function(argument1,argument2 ......) from dual;
сумма всех аргументов (любого типа) не может превышать 512 б(плохо) а возврат блоб (нормально)
а
для sqlca.function(argument) передача argument до 32кб (нормально) но возврат тоже ограничен 32кб (плохо) Возможно есть параметр ?? который изменяет объем передаваемых аргументов для первого случая и объем возвращаемых для втогого.
Сижу рою в доке пока нет мыслей.
Можно конечно закидывать в базу в какуе то таблицу параметров значение в 32 кб а потом забирать Selectblob но это как бы сказать ну не красиво что ли (слово не могу подобрать)
...
Рейтинг: 0 / 0
SelectBlob и параметры
    #34161580
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ну ...
Я через updateblob блобы только так загонял
и больше чем 32к
так что посмотри насчет конвертации
...
Рейтинг: 0 / 0
SelectBlob и параметры
    #34162948
Gen_dos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все верно через update i insert ты конечно загонишь и до после 32кб .
Я же имел ввиду ограничение в 512 б для SelectBlob при передачи параметров функции в нем вызываемой.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / SelectBlob и параметры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]