powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / BLOB, возвращаемый из SP
1 сообщений из 1, страница 1 из 1
BLOB, возвращаемый из SP
    #35336911
Vladimir Kiselev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Win XP Pro SP2, LUW ESE 9.1.3:

Есть хранимая, на голом С, из которой возвращается BLOB(100k), она делает и другие действия,
но меня интересует только BLOB:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE PROCEDURE SCH.GET_BLOB(
  IN ID INT, INOUT PROFILE BLOB(100k) )
      DYNAMIC RESULT SETS  0 
      LANGUAGE C
      PARAMETER STYLE SQL
      NO DBINFO
      FENCED
      MODIFIES SQL DATA
      PROGRAM TYPE SUB
      EXTERNAL NAME 'getblob!getblob';

getblob.c:

Код: plaintext
1.
2.
3.
4.
5.
SQL_API_RC SQL_API_FN getblob (
    SQLUDF_INTEGER    *iID,       SQLUDF_BLOB         *oBlob,
    SQLUDF_NULLIND    *iID_ind,  SQLUDF_NULLIND     *oBlob_ind,
    SQLUDF_TRAIL_ARGS
)

Данные приходится описывать как:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  EXEC SQL INCLUDE SQLCA;

  EXEC SQL BEGIN DECLARE SECTION;
     long                             id;
     SQL TYPE IS BLOB(100k) bdata;
     short                           bdata_ind;
  EXEC SQL END DECLARE SECTION;

Читаем:

Код: plaintext
1.
2.
3.
4.
5.
    EXEC SQL
      SELECT BDATA
        INTO :bdata:bdata_ind
        FROM SHL.BLOBS
       WHERE ID = :id;

Копируем, если индикатор не отрицательный:

Код: plaintext
1.
2.
  oBlob->length = bdata.length;
  memcpy( oBlob->data, bdata.data, bdata.length );

Вопрос: Есть ли способ избежать создания пространства для блоба два раза, один раз при вызове хранимой (параметр oBlob), второй раз внутри хранимой (переменная bdata). Т.е. можно ли использовать oBlob для чтения данных в выделенный буфер?

PS LOCATOR здесь не проходит, в доке пишут, что он для UDF & methods.

Спасибо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / BLOB, возвращаемый из SP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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