|
| |
Übersicht
Der HIT-Batch-Client arbeitet ähnlich einem Filetransfer oder Datenbank-Load/Unload-Utility.
Aufrufsyntax
Windows
java.exe <javaparameter> HitBatch.HitBatchMain <pfad zur INI-Datei>
siehe HitBatch.cmd.
Linux, BSD, AIX, etc.
java <javaparameter> HitBatch.HitBatchMain <pfad zur INI-Datei>
Die Umgebungsvariable CLASSPATH muß richtig gesetzt sein, damit die aktuelle HitUpros- und
HitBatch-Version verwendet wird.
Dieser kann auch direkt als Javaparameter -classpath
HitUpros.jar;HitBatch.jar angegeben werden (ggf. die Pfade mit angeben).
WICHTIG: Der Aufruf java HitBatch HitBatch.ini ist falsch
und schon seit längerem ungültig! Sollte dies funktionieren, dann unbedingt
alle alten HitBatch-Versionen löschen!
Zeichensatz
Der HIT-Server arbeitet von Haus aus mit dem Zeichensatz ISO-8859-1
(auch Latin1 genannt). Damit Umlaute oder Sonderzeichen korrekt aus
Datendateien gelesen und an die Datenbank übertragen werden, müssen daher alle
Clients ebenso mit diesem Zeichensatz arbeiten.
Sowohl deutsch- als auch englischsprachige Windows-Versionen arbeiten
korrekt, da der windowseigene Zeichensatz vom obigen Zeichensatz größtenteils
abgeleitet ist.
Linux-Anwender (ebenso AIX, BSD, etc.) jedoch müssen in den meisten
Fällen dem Client explizit mitteilen, mit welchem Zeichensatz gearbeitet werden
soll, da die meisten inzwischen mit UTF-8 arbeiten, das ab dem
127sten Zeichen nicht mehr mit Latin1 deckungsgleich ist und zudem Zeichen mit
mehr als einem Byte "versteht". Der Aufruf entspricht dann dem obigen,
der rot markierte Teil ist zu ergänzen:
java -Dfile.encoding=ISO-8859-1 <javaparameter> HitBatch.HitBatchMain <pfad zur INI-Datei>
Programm-Aufrufbeispiel
Windows
@ECHO OFF
:AGAIN
java HitBatch.HitBatchMain HitBatch.ini
IF ERRORLEVEL 4 GOTO AGAIN
IF ERRORLEVEL 1 GOTO ERROR
GOTO FERTIG
:ERROR
ECHO Transfer der Daten nicht erfolgreich
PAUSE
:FERTIG
Der HitBatch liefert verschiedene Fehlerschweren, auf die reagiert werden
kann:
0 = Verarbeitung OK, Details siehe Ergebnis-Dateien
1 = Impressum ausgegeben, keine weitere Verarbeitung
2 = Ini.-Parameter-Fehler, keine weitere Verarbeitung
3 = Datei-Lesefehler, Verarbeitung wegen Problemen abgebrochen
4 = Fehler bei Verbindung zum HIT-Server, Verarbeitung abgebrochen
5 = System-Fehler, Fehlertext bitte an Entwicklung melden
Die Schwere 4 zeigt meist ein Verbindungsproblem auf, so daß
Scripten den Batch-Job erneut starten können, wie im Beispiel oben (am besten
mit einer sinnvollen zeitlichen Verzögerung). Der HitBatch merkt sich die
zuletzt verarbeitete Position und setzt dort erneut auf.
Beispiel-Parameter
Allgemein
siehe HitBatch.ini
Interner Programm-Ablauf
- Lesen der Parameter aus INI-Datei
- Socket-Verbindung auf angegebenem Port zu Hit-Server oder Backup-Server über IP-Adresse
oder DNS-Namen öffnen
- Auf Antwort "=0:0/xxxx::HitServer bereit Version xxxx" warten und benötigte
Version prüfen
- ggf. Backupserver verbinden wenn Primary nicht antwortet
oder mit Schwere >= 2 signalisiert, dass nicht bereit
- Input-Datei öffnen, wenn in Offset-Datei oder Parameter zu überspringende Zeilenzahl
gegeben dann überspringe jetzt
- Alle weiteren Zeilen als Meldung an den Hit-Server senden
- Der Server prüft die Meldungen und gibt Return-Codes der Schwere 0=OK, 1=Hinweis,
2=Nachfrage, 3=Fehler, 4=Panik zurück.
- Bei Schwere <= 1 wurde der Satz am Server gespeichert, der HitBatch-Client schreibt
diesen Satz in die Ausgabedatei "GOOD" (sofern angegeben).
- Bei Schwere > 1 wurde der Satz am Server nicht gespeichert, der HitBatch-Client
schreibt diesen Satz in die Ausgabedatei "BAD" (sofern angegeben).
- Alle Sätze mit Schwere >= 1 (bzw. im Parameter -s angegebener Wert) werden
zusätzlich in die LOG-Datei geschrieben, gefolgt von den entsprechenden Hinweisen und
Fehlermeldungen (Auf dieser Antworten siehe HIT-Protokoll)
- Wenn die ganze Input-Datei bis zum Ende bearbeitet wurde, wird die Offset-Datei
gelöscht
- Wenn die Bearbeitung vor Ende der Input-Datei abgebrochen wurde, wird die Anzahl der
bereits bearbeiteten Sätze in die Offset-Datei geschrieben. Ein weiterer Lauf kann dann
genau am Abbruch-Punkt wieder aufsetzen. Dass ein weiterer Durchlauf erforderlich ist,
kann am Return-Code 4 (Verbindungsabbruch) erkannt werden.
Zurück zum Anfang
|