SQL_BLOB_TAG_GET gibt einen Attributwert eines existierenden BLOB-Objekts aus. Eingegeben wird der REF-Wert des BLOB-Objekts, der Datenbankname und der Name des Attributs (Tag). Mögliche Tags sind CREATED, UPDATED, MIME und USAGE. Zusätzlich müssen zum Auslesen des Werts der Puffers und dessen Größe zur Verfügung gestellt werden. Hat das BLOB-Objekt kein Attribut mit dem angegebenen Tag, so wird eine Fehlermeldung ausgegeben.
Dieser CLI-Aufruf erfordert das SELECT-Privileg für die BLOB-Tabelle.
CLI-Deklaration in C:
void SQL_BLOB_TAG_GET( char const *REFvalue ,char const *CatalogId ,char const *TagName ,char *Buffer ,long int const *BufferLength ,long int *ValueLength ,struct SQLda_t *SQLda);
CLI-Deklaration in COBOL:
IDENTIFICATION DIVISION. PROGRAM-ID. SQLbtge IS PROTOTYPE. DATA DIVISION. LINKAGE SECTION. 01 REFvalue PIC X(237). 01 CatalogId PIC X(31). 01 TagName 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, TagName, Buffer, BufferLength, ValueLength, SQLda. END PROGRAM SQLbtge.
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 mehrere Leerzeichen angeben.
TagName
Name des Attributs (Tag). Der Name muss gegebenenfalls mit Leerzeichen auf 31 Zeichen verlängert oder mit einem Null-Byte abgeschlossen werden. TagName
darf nicht nur aus Leerzeichen bestehen.
Buffer
Puffer, in den der Attributwert geschrieben werden soll.
BufferLength
Größe des Puffers in Byte. BufferLength
muss eine Zahl >= 0 sein. Ist die Puffergröße kleiner als die Länge des Attributwerts nach dem Abschneiden der Leerzeichen am Ende, werden soviele Werte in den Puffer geschrieben, wie dessen Größe erlaubt. Zusätzlich wird in diesem Fall eine Meldung ausgegeben.
ValueLength
Bei erfolgreichem Lesen des Attributwerts wird dessen Länge in Byte ausgegeben. Ist die Länge größer als der Wert bei BufferLength
, dann wurde nur ein Teil des Attributwerts in den Puffer übertragen.
SQLda
Diagnosebereich.