[Allegro] Vb.207 : V28.5 mit acon (Neues Konsolprogramm)
Thomas Berger
ThB at Gymel.com
Fr Jun 27 10:48:09 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Lieber Herr Eversberg,
bevor alles zu spaet ist, weil adhoc schlechte Vereinbarungen
ausgedacht werden, die man sich spaeter zurueckzunehmen scheut:
.con halte ich fuer eine wirklich unguenstige Extension, in dem
Sinne, dass ich sie fuer eine Konfigurationsdatei noch nicht
erlebt habe.
Ich meine, wer sein Dateisystem so verbogen hat, dass er nur
8.3-Namen kann, hat doch wirklich andere Probleme (es muss
10 Jahre her sein, dass ich das in freier Wildbahn erlebt
hae), warum darf es nicht .conf bleiben?
Von der Struktur her ist es eine .ini-Datei, sie darf auch
gerne .ini als Extension haben.
Ueberdies finde ich es hoechstens testweise in Ordnung,
dass das Programm automatisch sein Arbeitsverzeichnis
wechselt, verschiedene acon von verschiedenen Arbeitsplaetzen
gestartet kommen sich damit ohne Not in die Quere
(und ein etc-artiges Verzeichnis, das als schreibgeschuetzt
zu denken ist, als Arbeitsverzeichnis hat eine besondere
Pikanterie)
Eine zentrale Konfigurationsdatei, die alle existierenden
Datenbanken auflistet, ist allegro bislang fremd gewesen
(man denke auch an lokale Datenbanken, die ich ueber ein
Programmverzeichnis im Netz nutze), darueberhinaus muesste
ich Eintraege zu einezelnen Datenbanken auch noch klonen,
wenn ich eine andere .CFG moechte (etwa bei Verzicht auf
Datumsstempeleien beim Update)
m.E. sollte acon.exe die/eine .ini-Datei fuer a99
beruecksichtigen koennen. Hier raecht es sich allerdings,
dass eines der Grundprinzipien von .ini-Dateien differenzierte
sections sind, allegro aber nur [general] kennt. Es ist
aber nie zu spaet, damit anzufangen:
Also in a99.ini oder eine Kopie davon etwa einen Abschnitt
[acon]
und darin dann ggfls. von [general] abweichende Setzungen
(ConfigName, v.a. Access) sowie die Angabe der Logdatei (fuer
acon von Belang?).
[acon-profil1]
...
[acon-profil1]
...
Acon-Aufruf dann stark analog zu a99 als
%-P%\acon ini-Name [-n Profilname] [weitere Argumente]
Bestimmung von Programm- und Datenverzeichnis dann implizit
aus den Orten von acon.exe und .ini-Datei
Ist -n angegeben, wird nach [general] der .ini-Abschnitt
acon-"Profilname" ausgwertet, fehlt -n, wird [acon] genommen.
Weitere optionale Argumente sollten Namen fuer Eingabedatei
(Job) und Ausgabedatei sein, die Aufrufsyntax mit Redirects
ist doch sehr unuebersichtlich.
In Jobs sollte die Angabe eines Arbeitsverzeichnisses
ignoriert werden (koennte generell auf avanti verlagert
werden), die abschliessende Zeile mit @Datenbanknamen,
User, Password hat schon oft Aerger gemacht: Eigentlich
gehoeren solche Tests nach avanti, leider braucht der
Client-Prozess sie zur Initialisierung.
Im Nicht-Server-Kontext ist der Benutzername typischerweise
der Windows-Benutzername (bzw. einer von der Kommandozeile,
bzw. im _psw-Flex aus dem Environment geholter). Der feste
Benutzername aus der .ini-Datei ist eher atypisch (da schlecht
pflegbar), einer im Job sollte die Ausnahme sein, insofern
ist auch das Password nicht von Belang. Ich stelle mir vor,
dass ein Export durch Nutzung von access=0 schneller wird
bzw. in Netzwerkumgebungen andere weniger beeintraechtigt
werden, wenn .cLD-Dateien und Index a priori nicht zum schreiben
geoeffnet werden. Ich moechte aber nicht staendig den
Benutzernamen manipulieren, um das zu erreichen, lieber ein
"Profil", z.B. "srch" innerhalb der (datenbankspezifischen .ini-Datei,
s.o.) angeben. Festverdrahteter Kommandozeilenschalter -a ist
natuerlich auch o.k. ;-)
Angabe eines Datenbanknamens im Job halte ich fuer kontraproduktiv,
komplexe Standardjobs muessten dann staendig geklont und editiert
werden...
Also: Jobs fuer acon im .bat-Betrieb sollten normalerweise
so aussehen:
&
Jobtext
@
und optional (da m.E. ziemlich sinnlos)
&
Jobtext
@ DB=ANY ID=Benutzername
viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iQCVAwUBSGSpSWITJZieluOzAQLPPwP+IP23TfJeOQyjuPDNWUZNqvrnPERSO3m7
zavRfa6262iH5WV0RaVqnZqV1u2WqUIS6B9Mzx8pLHGOot/WzPtcVXQfxCtc7xEq
RWtb4aZnhNUjxeJBKr1W6p1MxKx1nUHGEDGAnRbjkVhr9qy2299z1Z2faLinpJCk
WZ3VZNGK5+Q=
=fCen
-----END PGP SIGNATURE-----
Mehr Informationen über die Mailingliste Allegro