Beschreibung
int
odbc_binmode ( int result_id, int mode)
(Betrifft die ODBC SQL Typen: BINARY, VARBINARY und LONGVARBINARY)
ODBC_BINMODE_PASSTHRU: gibt Binärdaten direkt zum Output durch
ODBC_BINMODE_RETURN: liefert die Binärdaten unverändert zurück
ODBC_BINMODE_CONVERT: konvertiert die Binärdaten zu Zeichen und
liefere sie zurück
Im ODBC_BINMODE_CONVERT werden die Binärdaten
zu Character-C-data gewandelt. Jedes Byte (8 Bits) der
ursprünglichen Daten wird zu zwei ASCII-Zeichen, die der
hexadezimalen Darstellung des Wertes entsprechen. Der Binärwert
00000001 wird zum Beispiel zu "01" gewandelt,
der Binärwert 11111111 zu "FF".
Tabelle 1. Die Benutzung von LONGVARBINARY
| binmode | longreadlen | Resultat |
|---|
| ODBC_BINMODE_PASSTHRU | 0 | Direkte Ausgabe |
| ODBC_BINMODE_RETURN | 0 | Direkte Ausgabe |
| ODBC_BINMODE_CONVERT | 0 | Direkte Ausgabe |
| ODBC_BINMODE_PASSTHRU | 0 | Direkte Ausgabe |
| ODBC_BINMODE_PASSTHRU | >0 | Direkte Ausgabe |
| ODBC_BINMODE_RETURN | >0 | Direkte Ausgabe |
| ODBC_BINMODE_CONVERT | >0 | Rückgabe als CHAR-Werte |
Wenn odbc_fetch_into() genutzt wird, wird bei
direkter Ausgabe ein leerer String als Spaltenwert
zurückgeliefert.
Wenn result_id gleich 0
ist, wird die Einstellung als Defaultwert für die nächsten
Transaktionen gesetzt.
Anmerkung:
Der Defahltwert für longreadlen ist 4096,
für odbc_binmode()
ODBC_BINMODE_RETURN, also die unveränderte
Rückgabe. Das Verhalten von LONGVARBINARY
wird ebenfalls durch die Funktion
odbc_longreadlen() bestimmt.