|
Вызов Oracle процедуры c параметром типа blob
|
|||
---|---|---|---|
#18+
Из PowerBuilder (11.5) возникла необходимость работы с ниже приведенной пакетной пользовательской процедурой PROCEDURE IB6DOCFLOW.message ( СУБД Oracle10g, для подключение используется native client). 1. Как правильно объявить данную процедуру в PB ? 2. Как правильно заполнить параметр document_attachedfiles ? Oracle: CREATE OR REPLACE PROCEDURE IB6DOCFLOW.message ( out_error OUT INTEGER, -- ошибка client_absid IN INTEGER, -- абс id клиента document_subject IN VARCHAR, --тема письма document_text IN VARCHAR, --текст письма document_attachedfiles IN FILEINF_T --список файлов ) CREATE OR REPLACE TYPE IB6DOCFLOW.FILEINF AS OBJECT ( attachedfiles_name VARCHAR(255), –имя файла attachedfiles_val BLOB --содержимое ) PB: SUBROUTINE IB6MESSAGE ( ref out_error, long client_absid, string document_subject, string document_text, ????? document_attachedfiles) RPCFUNC ALIAS FOR "IB6DOCFLOW.message" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2010, 01:06 |
|
Вызов Oracle процедуры c параметром типа blob
|
|||
---|---|---|---|
#18+
По идее тип в PB тоже blob (или readonly blob). Только есть ограничение на размер блоба для RPCFUNC+Oracle - не более 32512 байтов (по крайней мере - согласно справке: Oracle database interface->Database stored procedures->Supported features with RPCFUNC keyword). SUBROUTINE IB6MESSAGE ( ref long out_error, long client_absid, string document_subject, string document_text, readonly blob document_attachedfiles) RPCFUNC ALIAS FOR "IB6DOCFLOW.message" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2010, 02:40 |
|
Вызов Oracle процедуры c параметром типа blob
|
|||
---|---|---|---|
#18+
Попробовал, ошибка вызова процедуры: ORA-06550: line 1, column 15: PLS-00306: wrong number or types of arguments in call to 'MESSAGE' ORA-06550: line 1, column 15: PL/SQL: Statement ignored ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 13:08 |
|
Вызов Oracle процедуры c параметром типа blob
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyПо идее тип в PB тоже blob (или readonly blob). Только есть ограничение на размер блоба для RPCFUNC+Oracle - не более 32512 байтов (по крайней мере - согласно справке: Oracle database interface->Database stored procedures->Supported features with RPCFUNC keyword). SUBROUTINE IB6MESSAGE ( ref long out_error, long client_absid, string document_subject, string document_text, readonly blob document_attachedfiles) RPCFUNC ALIAS FOR "IB6DOCFLOW.message" Есть мнение, что вот это:Толян document_attachedfiles IN FILEINF_T --список файлов не просто указанный ниже тип, а коллекция, так что, я бы начал с попытки передать массив. 2TC Пробуйте что-нибудь вроде Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 20:02 |
|
|
start [/forum/topic.php?fid=15&msg=37003462&tid=1335814]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 152ms |
0 / 0 |