Mit PHP auf IBM DB2 zugreifen
Maik Görgens
- php
0 Rouven0 Maik Görgens0 Rouven
0 fanelf.de0 Maik Görgens0 Maik Görgens0 Rouven
Hallo!
Ich will mit PHP auf DB2 zugreifen. Da muß ich dem ja erstmal sagen, wo mein db2 ist. Ich hab teilweise gelesen, das man da irgendwas beim kompilieren angeben muß. Problem: ich arbeite auf Windows und da ist das mit dem kompilieren ja immer so ne sache. Gibt es eine Möglichkeit das irgendwo einzustellen, ohne neu zu kompilieren. Ach ja, wenn ich schonmal dabei bin. Mit dem aktivieren, das Sessions erlaubt sind ists das gleiche.
Und wenn es keine Mgl. gibt das ohne neukompilieren zu machen. Weiß dann jemand ne schritt für schritt anleitung für ganz blöde, in der auch mit erklärt ist, wie und wo ich das db2 und sessions angeben muß, das das dann mit drin ist?
Vielen Dank schonmal
Grüße Maik
Hi,
wie willst du denn überhaupt auf die DB2 zugreifen. Ich frage deshalb, weil ich mich gerade etwas wundere warum du da irgendwas kompilieren willst. Brauchst du irgendwelches embedded SQL? Also instinktiv hätte ich einfach mal ODBC vorgeschlagen, das macht die DB2 auf jeden Fall mit, PHP von Haus aus auch. Fehlt dir da was?
MfG
Rouven
Hallo!
Ich will schon mit ODBC drauf zugreifen, aber ich hab gelesen, das php da mit der option --enable-ibm-db2=pfad_zu_db2 kompiliert sein muß.
Ist dem nicht so?
Hmh,
also das hör ich zum ersten Mal, ich gebe zu, dass ich das ganze noch nicht ausprobiert habe. Aber eigentlich würde ich da keine Probleme erwarte ich da keine großen Probleme: Du richtest eine DSN in der Systemsteuerung ein und greifst dann ganz normal darauf zu.
Die Option die du da genannt ist könnte entweder Linux-spezifisch sein oder ein Sonderfall, Google spuckt mir dazu keine 300 Treffer aus. Das lässt mich vermuten, dass das kein sehr häufiges Problem ist...
MfG
Rouven
Ich will mit PHP auf DB2 zugreifen. Da muß ich dem ja erstmal sagen, wo mein db2 ist. Ich hab teilweise gelesen, das man da irgendwas beim kompilieren angeben muß. Problem: ich arbeite auf Windows und da ist das mit dem kompilieren ja immer so ne sache. Gibt es eine Möglichkeit das irgendwo einzustellen, ohne neu zu kompilieren. Ach ja, wenn ich schonmal dabei bin. Mit dem aktivieren, das Sessions erlaubt sind ists das gleiche.
folgendes ist zu tun:
1. db2-client installieren.
2. dafür sorgen, dass php mit dem db treiber compiliert ist. entweder direkt oder mit odbc.
platform ?
die windows-binary ist mit odbc compiliert. funktioniert wunderbar.
bei linux ist bspw. die suse-distribution mit iodbc compiliert. damit hatte ich aber probleme mit dem db2-client. unixodbc soll funktionieren. ich hatte deshalb php mit dem db2-treiber direkt compiliert.
du benutzt windows - keinerlei probleme.
3. odbc konfigurieren (.ini, dbs, gateways, schema ...)
4. in php odbc benutzen (auch wenn db2 direkt eincompiliert)
Hallo!
Den Tipp hab ich gebraucht. Ich wußte nicht, das ich noch ODBC noch konfigurieren muß. Werd ich heut abend mal probieren. Mal sehen, ob ichs hinkrieg...
Maik
Hallo!
- odbc konfigurieren (.ini, dbs, gateways, schema ...)
Kannst du diesen Schritt etwas genauer erklären? Ich arbeite mit Windows 2000, PHP5, IBM DB2 V8.1
Vielen Dank
Maik
Hi,
du gehst auf Start->Einstellungen->Systemsteuerung->Verwaltung (allgemein)->Datenquellen (ODBC)
In dem dann folgenden Dialog legst du ein System-DSN (=Data Source Name) an. System deshalb, damit die systemweit für alle Benutzer gilt, mit anderen Sachen gibts gerne mal Scherereien.
Na ja, dazu wählst du den DB2-Treiber aus und gibst dann die Verbindungsdaten ein.
Damit du die Datenbank per ODBC ansprechen kannst, muss sie (zumindest war das bei der DB2 6 so) in der Client-Konfigurations-Unterstützung für ODBC freigegeben werden, da gibts irgendwo eine Einstellung wo man den ODBC-Namen angeben kann. Ich erinnere mich nicht genau, kann aber sogar sein, dass der dann schon eine DSN für dich anlegt, dann kannst du dir die Konfiguration sparen.
MfG
Rouven