(PHP 4, PHP 5, PHP 7)
odbc_setoption — ODBC-Einstellungen anpassen
$id
, int $function
, int $option
, int $param
) : boolDiese Funktion erlaubt das Einstellen der ODBC-Optionen für eine einzelne Verbindung oder einem Abfrageergebnis. Sie soll beim Auffinden und Beheben von Problemen mit ODBC-Treibern helfen. Es empfiehlt sich, diese Funktion nur zu nutzen, wenn man einige Erfahrung mit ODBC-Programmierung gesammelt hat, und die Wirkungen der einzelnen Parameter kennt. Es wird sicherlich nötig sein, eine gute ODBC-Referenz zur Hand zu haben, um all die unterschiedlichen Optionen und Werte, die verwendet werden können, zu erklären. Unterschiedliche Treiberversionen unterstützen unterschiedliche Optionen.
Weil die Effekte je nach ODBC-Treiber unterschiedlich sein können, wird unbedingt davon abgeraten, Skripte mit dieser Funktion nicht veröffentlich werden. Einige ODBC-Optionen stehen dieser Funktion nicht zur Verfügung, weil sie vor dem Aufbau einer ODBC-Verbindung oder vor der Vorbereitung der Abfrage eingestellt sein müssen. In einigen Fällen hilft diese Funktion allerdings zu vermeiden, dass man von seinem Vorgesetzten gezwungen wird, ein kommerzielles Programm einzusetzen - und darauf kommt es doch an.
id
Ist die Verbindungs- oder Ergebniskennung, deren Einstellungen geändert werden sollen. Bei SQLSetConnectOption() ist es eine Verbindungskennung, bei SQLSetStmtOption() eine Ergebniskennung.
function
Ist die ODBC-Funktion, die genutzt werden soll. Die Werte sind 1 für SQLSetConnectOption() und 2 für SQLSetStmtOption().
option
Die zu ändernde Option.
param
Der Wert für die angegebene option
.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Beispiel #1 odbc_setoption Beispiele
<?php
// 1. Option 102 von SQLSetConnectOption() ist SQL_AUTOCOMMIT.
// Wert 1 für SQL_AUTOCOMMIT entspricht SQL_AUTOCOMMIT_ON.
// Dieses Beispiel hat denselben Effekt wie
// odbc_autocommit($conn, true);
odbc_setoption ($conn, 1, 102, 1);
// 2. Option 0 von SQLSetStmtOption() ist SQL_QUERY_TIMEOUT.
// Dieses Beispiel setzt den Timeout auf 30 Sekunden.
$result = odbc_prepare ($conn, $sql);
odbc_setoption ($result, 2, 0, 30);
odbc_execute ($result);
?>