gechger
Goto Top

Per PHP direkt Daten aus ADS Datenbank auslesen

kennt jemand den Befehl zum Auslesen einer ADS (Advantage Database Server) mit PHP?

Hallo Forum,

wir haben eine ADS Anwendung laufen. Es existiert ein TEST.ADD (data Dictionary) und darin sind verschiedene Tabellen TEST1.ADT, TEST2.ADT, usw. Über eine Webanwendung mittels PHP will ich nun eine dieser Tabellen auslesen und in PHP-Variablen speichern. Anschließend sollen diese Daten als Textdatei ausgegeben werden.

Im ADS Handbuch habe ich Information gefunden, aufgrund dessen ich dieses Script geschrieben habe:

$rconn=ads_connect("DataDirectory=d:\\test" . "adsbook\\test.add;ServerTypes=7;","adssys", "");
$rstmt=ads_prepare($rconn,"select * from test");
$result=ads_execute($rstmt);
$personalnummer = ads_result ($rstmt, "Personalnummer");
$datum = ads_result ($rstmt, "Datum");
$zeitvon = ads_result ($rstmt, "Zeitvon");
$zeitbis = ads_result ($rstmt, "Zeitbis");
$projekt = ads_result ($rstmt, "Projekt");

ads_close ($rconn);

Fehlermeldung ist diese hier:
Fatal error: Call to undefined function ads_connect() in C:\xampp\htdocs\test.php on line 23
Zeile 23 ist diese hier
$rconn=ads_connect("DataDirectory=d:\\test" . "adsbook\\test.add;ServerTypes=7;","adssys", "");

Zum Test befindet sich die Datei auf meiner lokalen Partition D: im Ordner Test. Ich verwende zum Test eine lokale Installation vom XAMMP, das php Script liegt in localhost/htdocs

Gibt es wohl alternative Befehle, um diese Datenbank anzusprechen?

Vielen Dank für alle Tips
Schöne Grüße
Christof

Content-ID: 98150

Url: https://administrator.de/contentid/98150

Ausgedruckt am: 16.11.2024 um 13:11 Uhr

godlie
godlie 30.09.2008 um 13:49:50 Uhr
Goto Top
Also was eine ADS Anwendung in dienen Augen ist wäre evtl mal gut zu wissen, damit wir dir helfen können.

ADS kenn ich z.b. nur als Active Directoy Service und das kann man auch mit LDAP abfragen.
Die von dir verwendeten Funktionen gibt es nirgends in php.

Das sieht irgendwie nach einem ADO Connect String aus.

Ein Paar Infos mehr und wir können evtl besser helfen.
gechger
gechger 30.09.2008 um 13:57:43 Uhr
Goto Top
ADS = (Advantage Database Server), kleines SQL basierendes Datenbanksystem. Kommt von Sybase
godlie
godlie 30.09.2008 um 14:01:15 Uhr
Goto Top
ok nun miene Frage warum willst du dann die Datendateien abfragen?
Wenn es doch ein SQL Server ist?

http://www.weberdev.com/ViewArticle/Simple-Connection-to-Sybase-with-PH ...
http://www.php.net/sybase

grüße
gechger
gechger 30.09.2008 um 14:07:10 Uhr
Goto Top
Es geht dabei um Erfassung von Arbeitszeiten. Aussendienstmitarbeiter mit Notebook, die auch im Ausland unterwegs sind, sollen mit einem kleinen ADS-Programm ihre Arbeitszeiten erfassen. Damit die Arbeitszeiten in die Firma kommen, sollen sie über das Internet ein php-Script aufrufen, welches die Daten aus dieser Datenbank abholt, und anschließend als Textdatei in die Firma schickt. Dort sollen die Daten automatisch in ein Lohnabrechnungsprogramm importiert werden.
godlie
godlie 30.09.2008 um 14:11:53 Uhr
Goto Top
Damit ich das jetzt richtig verstehe, die Ausendienstmitarbeiter tragen ihre Arbeitszeiten mit einem Programm in eine ADS Datenbank ein, dann muss ja ein ADS Server laufen auf dem notebook oder?
gechger
gechger 30.09.2008 um 14:19:56 Uhr
Goto Top
ja, es gibt im ADS einen local server. Wird automatisch mitinstalliert, wenn die Anwendung installiert wird. Ist auch sehr resourcenschonend, man braucht keinen SQL Server Dienst dafür.
dtzzzzzz
dtzzzzzz 01.10.2008 um 09:55:29 Uhr
Goto Top
Warum macht man dann nicht einfach eine PHP-Eingabeformular, wo jeder Mitarbeiter mit Benutzername und Passwort sich anmelden kann und die Daten direkt in die zentralle Datenbank einträgt?
gechger
gechger 01.10.2008 um 10:10:38 Uhr
Goto Top
hatte ich auch schon überlegt. Aber der Monteur hat so seine eigenen Daten zur Kontrolle auf seinem Notebook.
gechger
gechger 01.10.2008 um 13:11:07 Uhr
Goto Top
habe jetzt eine Information gefunden, daß unser Konzept so nicht funktionieren wird. Ein php Script kann scheinbar nicht über das WEB auf eine lokale ADS Tabelle zugreifen. Man müsse dort einen ADS Server installieren sowie einen Internetconnector, um das zu ermöglichen. Der Aufwand dafür ist aber zu groß.

Da müssen wir uns was Anderes einfallen lassen.

Vielen Dank aber für Eure Überlegungen.

Schöne Grüße
Chrstof