Anmelden

View Full Version : odbc_connect



Seiten : [1] 2

philsturm
16-11-21, 14:17
Hallo zusammen,
wir haben auf dem System i einen Webserver laufen, auf dem wir u.a. mit PHP arbeiten.
Lokal nutze ich xampp, um zu entwickeln.

In der lokalen Umgebung kann ich mittels odbc_connect eine Verbindung zu unserer DB2 aufbauen.

Kopiere ich das Script nun auf den Webserver, funktioniert das odbc_connect nicht. Es erscheint folgende Fehlermeldung:


Warning: odbc_connect(): SQL error: Relationale Datenbank DRIVER={IBM i Acce nicht im Verzeichnis der relationalen Datenbank., SQL state 42705 in SQLConnect in

Weiß jemand Rat?

Andreas_Prouza
16-11-21, 14:23
Hi,

Du kannst auf der IBM i ebenfalls ODBC installieren:

yum install unixODBC
Oder du verwendest den direkt Zugriff via db2_connect

lg Andreas

philsturm
16-11-21, 14:26
Hallo Andreas,
danke für die Antwort.
Ja, db2_connect funktioniert auf der i. Allerdings bekomme ich das unter xampp nicht zum laufen :(

Fuerchau
16-11-21, 14:27
Ich weiß nicht ob der db2_connect ohne eine DB2-Lizenz auf Unix verfügbar ist.
Unter Windows muss ich DB2-Connect lizensieren da dieser nicht durch dei AS/400 lizensiert ist.

philsturm
16-11-21, 14:28
Ja, das scheint hier das Problem zu sein.
Gibt es irgendwo eine nette Anleitung, damit odbc_connect auf der i funktioniert?

philsturm
16-11-21, 14:31
Eigentlich sollte ODBC installiert sein. Die Fehlermeldung sieht mir eher nach einer falschen Konfiguration aus, oder?

Andreas_Prouza
16-11-21, 14:42
Du musst die odbcinst.ini mit den entsprechenden Eintrag hinterlegt haben.
Hier 2 Links die das ganz gut erklären:
https://ibmi-oss-docs.readthedocs.io/en/latest/odbc/using.html
https://techchannel.com/SMB/08/2019/ODBC-Driver-for-IBM-i

BenderD
16-11-21, 14:48
... kann es sein, dass auf der AS/400 kein *local Eintrag vorhanden ist? (WRKRDBDIRE ist Dein Freund)

D*B

philsturm
16-11-21, 15:11
...doch ein Eintrag *LOCAL ist vorhanden als Ferner Standort

Andreas_Prouza
16-11-21, 15:15
Ich würde auch nicht anfangen außerhalb der IBM i Welt den db2_connect zu verwenden. Hat mehr Probleme verursacht hals geholfen.
Wenn würde ich es entweder über eine Konfiguration steuern welche Methode verwendet werden soll oder einer OS Anfrage um zu prüfen auf welcher Plattform du dich befindest.