SQL_BLOB_VAL_GET liest einen BLOB-Wert. Eingegeben werden der REF-Wert, der Datenbankname, der Puffer, in den der gelesene Wert übertragen wird und die Größe dieses Puffers.
Für die Ausgabe des BLOB-Werts wird das SELECT-Privileg auf die BLOB-Tabelle benötigt.
CLI-Deklaration in C:
void SQL_BLOB_VAL_GET( char const *REFvalue ,char const *CatalogId ,char *Buffer ,long int const *BufferLength ,long int *ValueLength ,struct SQLda_t *SQLda);
CLI-Deklaration in COBOL:
IDENTIFICATION DIVISION. PROGRAM-ID. SQLbvge IS PROTOTYPE. DATA DIVISION. LINKAGE SECTION. 01 REFvalue PIC X(237). 01 CatalogId PIC X(31). 01 Buffer. *> of any length 02 PIC X(1). 01 BufferLength PIC S9(9) COMP. 01 ValueLength PIC S9(9) COMP. COPY SQLCA. *> for group item SQLda. PROCEDURE DIVISION USING REFvalue, CatalogId, Buffer, BufferLength, ValueLength, SQLda. END PROGRAM SQLbvge.
REFvalue
Der REF-Wert des BLOB-Objekts. Die genaue Struktur des REF-Werts ist auf "Spaltendefinition" beschrieben.
CatalogId
Name der Datenbank, in der die Tabelle liegt. CatalogId
ist ein einfacher Name (siehe Abschnitt „Einfache Namen"). Der Name muss gegebenenfalls mit Leerzeichen auf 31 Zeichen verlängert oder mit einem Null-Byte abgeschlossen werden. Soll der Name der voreingestellten Datenbank verwendet werden, so müssen Sie statt des Datenbanknamens ein Null-Byte, ein oder mehr Leerzeichen angeben.
Buffer
Puffer, in den der Wert übertragen wird.
BufferLength
Größe des Puffers in Byte. BufferLength
muss eine Zahl >= 0 sein.
ValueLength
Länge des BLOB-Werts. Ist der Wert von ValueLength
größer als der Wert von BufferLength
, so wurden nur die ersten Bytes des BLOB-Werts (bis zur Größe BufferLength
) in den Puffer übertragen. Anderenfalls steht am Ende des Aufrufs der ganze BLOB-Wert in den ersten Bytes des Puffers.
SQLda
Diagnosebereich.