osql.exe

easy.2ci

Commodore
Registriert
Mai 2006
Beiträge
4.390
Hallo,

ich verwende das Kommandozeilentool osql.exe, für den SQL Server 2000.

Über osql rufe ich dann eine Stored Procedure auf und übergebe entsprechende Parameter.

Eigentlich klappt auch alles. Nur will ich jetzt den Befehl absichern, für den Fall, daß die IP Adresse mal nicht erreichbar ist.

Dafür gibts ja den parameter -l fürs Login TimeOut und den Parameter -t fürs query TimeOut.

Leider erkennt osql scheinbar diese beiden Parameter nicht. Wenn ich also mal zum testen eine willkürliche IP angebe, die nicht existiert, um so zu simulieren, daß das Zielsystem abgeschaltet ist, dann läuft der isql Prozess unendlich lang weiter. Er nimmt den Timeout also gar nicht.

Hab schon gegoogelt, aber nichts passendes gefunden. Groß und Kleinschreibung habe ich auch beachtet, so wie es in der Hilfe steht.


Hat jemand eine Idee? Wäre klasse.

Gruß
 
Zuletzt bearbeitet:
Hi,

hmm ja irgendwie sowas muss ich wohl machen. Hab mittlerweile rausbekommen, daß die beiden TimeOut Parameter von isql oder osql nur auf Anwendungsseite gelten, nicht aber auf Netzwerkebene. Da läuft der Prozess dann tatsächlich unendlich weiter.


Das mit dem Ping kann ich so allerdings auch nicht machen, da meine Anwendung etwa 10 SQL-Statements pro Sekunde gegen den SQL-Server absetzen will und wenn ich vor jedem Befehl per Ping teste, verzögert das meine Anwendung enorm.

Bin also gerade dabei zu überlegen, wie ich die Statements erstmal lokal sammle, und dann zB alle 5 Minute die Verfügbarkeit des SQL-Servers teste und dann die gesammelten in einem Rutsch abschicke.

Mal sehen.

Danke und viele Grüße
 
Zurück
Oben