Zugriff auf externe DB2 [PHP]

Bash, Shell, PHP, Python, Perl, CGI
yakir
Posts: 4
Joined: 2004-02-03 11:16

Zugriff auf externe DB2 [PHP]

Post by yakir »

Hallo,
ich möchte per ODBC-Schnittstelle auf eine externe Datenbank zugreifen, die nicht lokal auf meinem Webserver läuft.

Kann mir jemand sagen wie ich der Funktion "ODBC_CONNECT" den richtigen Hostnamen auf den Weg geben kann bzw. wie ich die Host-Einstellung Grundsätzlich für alle PHP-Scripte einstellen kann?

Das Problem ergibt sich auf Windows sowie einem Linux-Server!

Vielen Dank schon mal im Voraus!

Alex
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: Zugriff auf externe DB2 [PHP]

Post by arty »

Hi,

ist dein DB2-Server korrekt konfiguriert? Er muss im Netz per ODBC erreichbar sein, sonst klappt das nicht.

bye
arty
yakir
Posts: 4
Joined: 2004-02-03 11:16

Re: Zugriff auf externe DB2 [PHP]

Post by yakir »

Hi,
der Server ist soweit korrekt konfiguriert.

Lokal auf dem Server ist es auch kein Problem Datensätze zu selektieren.

Ich möchte die Datenbank jetzt aber, wie es bei einer MySQL Datenbank möglich ist, von außerhalb ansprechen.

Ich weiß aber nicht wie ich z.B. direkt in PHP den Hostnamen der Datenbank anpassen kann...
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: Zugriff auf externe DB2 [PHP]

Post by arty »

Hi,

der Befehl lautet:

Code: Select all

odbc_connect ("dsn", "username", "passwort")
Beim String dsn muss der Name des Servers, auf dem die DB2 läuft, rein, Benutzername und Passwort sollten klar sein.

Die korrekte Konfiguration des DB2 Servers ist dabei kein Spaß.

bye
arty
yakir
Posts: 4
Joined: 2004-02-03 11:16

Re: Zugriff auf externe DB2 [PHP]

Post by yakir »

Hallo,
erstmal vielen Dank für deine Antworten.
Die Funktion ist mir aber schon bekannt. Leider will sie nur nicht auf einen externen Server funktionieren... :?

Ich habe bereits versucht über unixODBC (http://www.unixodbc.org) eine DSN zu erzeugen, in Verbindung mit den DB2-Treibern hat das aber bei mir leider auf dem Server nicht so richtig geklappt.

Soviel ich weiß ist es auch möglich eine DSN direkt in dem Script zu erzeugen:

Access-Beispiel:

Code: Select all

$dsn = "Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb)};"; 
$dsn .= "DBQ=D:Daten_databasedatabase.mdb;"; 
$dsn .= "FIL=MS Access;MaxBufferSize=512;PageTimeout=5;"; 


$userName = "user"; 
$password = "pass"; 

$chk = odbc_connect($dsn,$userName,$password) or die ("FEHLER");
Wie würde das ganze aber mit den DB2-Treibern aussehen?
Vielleicht hat damit ja schonmal jemand Erfahrungen gemacht...


Gruß
Alex
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: Zugriff auf externe DB2 [PHP]

Post by arty »

Yakir wrote:Wie würde das ganze aber mit den DB2-Treibern aussehen?
Vielleicht hat damit ja schonmal jemand Erfahrungen gemacht...
ja, ich. :)

Wie hast du denn PHP kompiliert? Du benötigst auf deinem Server die DB2 Client Libary, sonst klappt das nicht. Ã?ber unixODBC habe ich damals keine Verbindung mit einer DB2 hinbekommen.

bye
Thorsten
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: Zugriff auf externe DB2 [PHP]

Post by andreask2 »

Hi!
arty wrote: ist dein DB2-Server korrekt konfiguriert? Er muss im Netz per ODBC erreichbar sein, sonst klappt das nicht.
Normalerweise verwendet man nur die ODBC-Funktionen, der Zugriff erfolgt dann tatsächlich über den nativen DB2 Client, der natürlich lokal vorhanden sein muss.

@Yakir: Ich würde mal folgendes lesen: http://www-106.ibm.com/developerworks/d ... scott.html

Und dabei kommt es sehr auf die Kleinigkeiten an. Und natürlich muss der DB2-Server von außen erreichbar sein.


Grüße
Andreas
yakir
Posts: 4
Joined: 2004-02-03 11:16

Re: Zugriff auf externe DB2 [PHP]

Post by yakir »

Hallo
vielen Dank für die Antworten.

Ich werde PHP nochmal kompilieren und genau so vorgehen, wie es auf
auf der Seite beschrieben ist.

Viele Grüße
Alex