PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zugriff auf DB (z.B. mysql,pgsql) "durch" eine Textdatei



23-01-2001, 16:14
Ich möchte einigen Programmen den Zugriff auf einige Daten aus einer Datenbank gewähren.
Diese Programme können jedoch nur txt-flatfiles verarbeiten. Der zugriff soll jedoch dynamsch geschehen!

Nun meine Frage: Ist es irgenwie möglich einen SQL-Select und dessen Ergebnis in einer Textdatei zu "verkapseln". D.h. Wenn der Benutzer/Anwendung eine Textdatei öffnet soll für ihn (transparent) ein e SQL-Abfrage ausgeführt werden und "irgendwie" mit einem Script oder sowas die Textdatei dynamisch erstellt werden.

geht das, gibt es schon irgendwelche tools?

24-01-2001, 07:58
Hi

wenn ich dich richtig verstanden habe, dann willst du,
dass die user ein textfile ausführen und dann dynamisch ein
anderes gefüllt wird ?

sollte hiermit gehen:

---Schnipp

# /bin/sh
# file das von den usern ausgeführt wird mit der select anweisung
mysql -h 192.168.1.1 (optional bei Localhost) -u gast (user) -p gast (passwort)
testdb (Datenbank) <

SELECT * INTO OUTFILE 'data.txt'
FIELDS TERMINATED BY ',' -- je nachdem welchen Feldtrenner du brauchst
FROM ...;
# Man kann das Sqlstatement direkt angeben, oder aber auch ein File das ein oder mehrere Statements enthält

--- Schnipp

Eine andere Möglichkeit wäre mysqldump mit den entsprechenden Argumenten zu verwenden

Siehe:

man mysql
man mysqldump

Das Manual zu mysql unter www.mysql.com (http://www.mysql.com) zum Thema outfile


Gruss Martin

24-01-2001, 10:07
hy martin,

vielen Dank für Deine schnelle Antwort.
Aber das ist noch nicht ganz das was ich suche.

Das Problem ist, daß ich einen Windows Fax-Client habe, der als Adressbuch nur eine Textdatei akzeptiert. Ich habe mir vorgestellt, daß ich so ein txt-File mit den Adressen übers Netz (Samba) freigebe. Just in dem Augeblick in dem der User diese txt-Datei öffnet soll sie mit den aktuellen Daten gefüllt werden.

24-01-2001, 11:00
Wenn ich mich richtig erinnere, dann kann man doch bei Samba mit Webmin angeben können, dass er eine Datei ausführt, ehe er die Anfrage bedient. Wenn du das mit dem Outfile verknüpfst muesste es gehen. Kann leider keine genauern Angaben machen, da mir linux hier verwehrt ist und ich erst zu Hause nachschauen kann.

Eine andere Möglichkeit wäre ein Cronjob, der das File regelmäßig aktualisiert.

Martin

03-02-2001, 22:18
hy Martin,
sorry daß in nochmal nerve.
Die lösung mit samba klingt gut. Leider habe ich keinen Parameter gefunden, die eine Aktion bei einer bestimmten Anforderung (zB. öffne Datei xx.xx) ausführen. Es gibt nur Einstellungsmöglichkeiten für Aktionen beim Anmelden/Abmelden an eine Ressource!

04-02-2001, 11:18
Hi,

habe bei mir mal nachgeschaut, und du hattest Recht, dass es nur bei einem connect geht, womit diese Möglichkeit für dich flachfällt. Mir würde dann nur noch ein cron job einfallen, der das file eben regelmäßig aktualisiert.

Martin