Bestimmen des gültigen Anweisungs-Timeouts
Der gültige Anweisungs-Timeout-Wert wird immer dann bestimmt, wenn eine Anweisung ausgeführt wird oder ein Cursor geöffnet wird.Bei der Suche nach dem wirksamen Timeout durchläuft die Engine die Ebenen, von der Anweisung bis zur Datenbank- und/oder globalen Ebene, bis sie einen Wert ungleich Null findet.Wenn sich herausstellt, dass der gültige Wert null ist, läuft kein Anweisungstimer und es gilt kein Timeout.
Ein Timeout auf Anweisungs- oder Verbindungsebene kann den Wert einer Einstellung auf Datenbankebene außer Kraft setzen, solange der Zeitraum für die Einstellung auf niedrigerer Ebene nicht länger als ein auf Datenbankebene anwendbares Timeout ungleich Null ist.
Important
|
Beachten Sie den Unterschied zwischen den Zeiteinheiten auf jeder Ebene.Auf Datenbankebene in der conf-Datei ist die Einheit für Absolute Genauigkeit ist in jedem Fall nicht garantiert, insbesondere bei hoher Systemlast, aber es wird garantiert, dass Timeouts nicht vor dem angegebenen Zeitpunkt ablaufen. |
Immer wenn eine Anweisung das Zeitlimit überschreitet und abgebrochen wird, gibt der nächste Benutzer-API-Aufruf den Fehler "isc_cancelled" mit einem sekundären Fehler zurück, der den genauen Grund angibt, d. h.
isc_cfg_stmt_timeout
-
Zeitüberschreitung auf Konfigurationsebene abgelaufen
isc_att_stmt_timeout
-
Zeitüberschreitung auf Attachmentebene abgelaufen
isc_req_stmt_timeout
-
Zeitüberschreitung auf Anweisungsebene abgelaufen
Note
|
Hinweise zu Anweisungs-Timeouts
|