Datenbank-Schnittstelle

Ich muss eine Ersatzteilsuche für einen Autohändler im Internet realisieren. Dafür gibt es eine Schnittstelle zu einer bundesweiten Datenbank (Oracle) - „www.callparts.de“, über die die enstprechend vorhandenen Teile des Autohändlers abgefragt werden können. Der Autohändler hat die Schnittstelle gekauft und mir zur Verfügung gestellt.
Er hat mir 3 SQL-Skripte und 3 (leere) TXT-Dateien gemailt. Die SQL-Skripte exportieren den entsprechenden Datenbestand aus der Oracle-Datenbank in die TXT-Dateien. Folglich laufen die SQL-Skripte ja auch auf dem Oracle-DB-Server und die txt-Dateien liegen dann ja auch dort.

Also brauche ich ja irgendwie einen Zugang zu dem www.callparts.de-Server um die txt-Dateien abzurufen?! Einem IT-leiter von Callparts, dem ich das geschrieben habe, sagte mir ich könne doch einfach über ODBC auf die TXT-Datein zugreifen. Aber auch in diesem Fall muss ich doch wissen wo diese Dateien liegen, oder sehe ich da irgendetwas falsch?!

Er hat mir 3 SQL-Skripte und 3 (leere) TXT-Dateien gemailt.
Die SQL-Skripte exportieren den entsprechenden Datenbestand
aus der Oracle-Datenbank in die TXT-Dateien.

Vermutlich sind dies Skripte für das Oracle Client-Tool SQL*PLus und enthalten sowohl SQL*Plus-Befehle und SQL-Anweisungen.

Folglich laufen
die SQL-Skripte ja auch auf dem Oracle-DB-Server und die
txt-Dateien liegen dann ja auch dort.

Das SQL läuft auf dem Server, die SQL*Plus Befehle laufen auber auf dem Client. Frage: Gibt es im Skript einen Befehl SPOOL (gefolgt von einem Dateinamen) ? Dieser Schreibt nämlich das Ergebnis des Skriptes in eine Text-Datei (die dann auch auf dem Client liegen würde).

Gruß Janus

Hi,

um den Gedankengang von Janus weiterzuspinnen: Auf deinem Rechner muss dann ein Oracle Client installiert sein, und in der Datei „tnsnames.ora“ müssen die Daten zur Verbindung mit der Datenbank eingetragen sein.
Als alternative zum Erzeugen der Textdateien mit Soppl unter SQL*Plus kann ich noch den kostenlosen Reportgenerator „Query Reporter“ von http://www.allroundautomations.com/ empfehlen. In diesen lassen sich die SQL-Skripte laden oder eingeben. Die Ergebnisse lasse sich dann als HTML-Tabelle oder im Textformat speichern.
Die weitere Alternative lediglich eine Oracle ODBC Schnittstelle zu installieren ist natürlich auch möglich (Erfahrungsgemäss klappt das tatsächlich, wenn auch nicht immer auf Anhieb…). Allerdings muss dann jemand oder etwas die SQL-Skripte daruber laufen lassen. Was mit einer Programmiersprache (Python,C,PHP…) oder mit einem Report- oder Query-Werkzeug (TOAD, Crystal Reports, DBX-Commander…) passieren kann.

Gruß
Claudius

Das SQL läuft auf dem Server, die SQL*Plus Befehle laufen
auber auf dem Client. Frage: Gibt es im Skript einen Befehl
SPOOL (gefolgt von einem Dateinamen) ? Dieser Schreibt nämlich
das Ergebnis des Skriptes in eine Text-Datei (die dann auch
auf dem Client liegen würde).

Ja es gibt einen Befehl Namens SPOOL gefolgt von dem Dateinamen einer txt-Datei. Danach folgt die SELECT-Abfrage, danach SPOOL OFF und am Ende werden noch die anderen 2 SQL-Skripte aufgerufen. Der Inhalt der Skripte ist mir an sich schon klar, nur muss ich ja zuerst eine Verbindung zur Oracle-DB haben.
Habe desöfteren schon über MyODBC auf MySQL-Server zugegriffen. Dafür brauche ich den DB-Server-Host (also irgendeine IP oder Domain), MySql Benutzername+Kennwort.
Und genau die Daten müssten doch bei dieser „Schnittstellen-BEschreibung“ auch enthalten sein. Um irgendwelche Sql-Skripte an den Oracle-Server abzusetzen, brauche ich ja zuerst den entsprechenden Host-Namen und eine Berechtigung.

Hallo,

[…] Um
irgendwelche Sql-Skripte an den Oracle-Server abzusetzen,
brauche ich ja zuerst den entsprechenden Host-Namen und eine
Berechtigung.

Ja. Und Host (Port (standard:1521) und protokol (standart:tcp)) stehen in der Datei tnsnames.ora der ORACLE installation (Der unbedarfte Anwender merkt dann gar nicht mehr, dass er diese Informationen braucht und wählt nur noch den TNS-Namen aus.) Zusätzlich ist noch der Datenbankbenutzer und das Passwort nötig. Ohne mindestens die drei Sachen (user/password@host)geht wirklich nichts. Egal ob mit Oracle client oder über ODBC.

Gruß
Claudius

Danke, wusste ich es doch:wink: (owT)
.