-
odbc_connect() mit PHP auf DB2
Hallo,
zu diesem Thema gibt es zwar schon viele Artikel, aber ich muss direkt nochmal vom Urschleim anfangen.
Ich will mit PHP auf die DB2 unserer iSeries zugreifen, der ODBC Treiber ist installiert.
Der System-DSN "AS400" existiert ebenfalls und die Userdaten stimmen auch.
Ich hab mal eine einfache Verbindung erstellt:
PHP-Code:
$con = odbc_connect('AS400', 'quser', 'qpwd', SQL_CUR_USE_ODBC) or die ("Verbindung fehlgeschlagen!"); if($con) { echo "Verbindung erfolgreich!!!"; odbc_close_all(); }
Gestern kam es schonmal zur Meldung "Verbindung erfolgreich". Ich hatte jedoch die Funktion odbc_close_all() vergessen.
Nach diesem erfolgreichen Versuch habe ich es kein weiteres Mal hinbekommen.
Der Browser rödelt ewig lange rum und es kommt keine Fehlermeldung und kein Timeout.
Liegt es etwa an dem vergessenen Funktionsaufruf?
Wurde die alte Verbindung nicht getrennt (kann ich mir nicht vorstellen)?
MfG watchdogg
-
hi,
prüfe mal ob der lokale port as-database aktiv bzw. empfangsbereit ist.
Code:
Verbindungs-ID:
Name des fernen Hosts . . . . . . . . . . . . :
Ferne Internet-Adresse . . . . . . . . . . : *
Ferner Port . . . . . . . . . . . . . . . . : *
Name des lokalen Hosts . . . . . . . . . . . :
Lokale Internet-Adresse . . . . . . . . . . : *
Lokaler Port . . . . . . . . . . . . . . . : as-database
Zugeordnetes Benutzerprofil . . . . . . . . . : QUSER
TCP-Programmierschnittstelleninformationen:
Status . . . . . . . . . . . . . . . . . . . : Empfangsbereit
Art der Verbindungsöffnung . . . . . . . . . : Passiv
das vergessene close sollte egal sein.
lg andreas
-
hast du schon versucht vom browser den cache + cookies zu löschen?
du könntest auch eine verbindung über DSN zu starten, dort dann noch das trace aktivieren und schaun, was das protokoll sagt.
-
Danke Andreas,
ich bin nicht der iSeries-Profi sondern nur ab und zu der Operator, deshalb habe ich ein paar Fragen zu deinen Posts:
1.Post:
mit welchem Befehl komme ich zu diesem Bildschirm.
2.Post:
Ja, Cache und Cookies habe ich schon gelöscht- das war auch mein erster Gedanke.
Wie macht man das mit der Verbindung über DSN und dem Trace.
MfG watchdogg
-
@1:
du gibst auf der befehlszeile NETSTAT ein
auswahl 3
mit der auswahl 5 bei " ... as-data > ..." bekommst du die details
@2:
in der systemsteuerung -> verwaltung -> datenquellen (ODBC)
wenn du ein Client Access installiert und verwendet hast gibt es bei Benutzer-DSN einen eintrag QDSN_+System-IP.
entweder verwendest du diesen DSN oder erstellst einen neuen.
Auf jeden fall musst du dort in der konfiguration das trace einschalten.
der code könnte dann so aussehen:
PHP-Code:
odbc_connect('DSN=QDSN_192.168.0.1', 'myuser', 'pwd', SQL_CUR_USE_ODBC)
für die syntax geb ich jedoch keine garantie ab, da ich mit php nicht viel zu tun habe.
lg andreas
-
@1
Alles i.O. Empfangsbereit , passiv
@2
Ja, wir verwenden Client Access aber den Eintrag "QDSN_+IP" finde ich nicht
Tracing ist auch aktiviert, schreibt aber keine Protokolldateien.
Im Browser erhalte ich folgende Fehlermeldung:
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in C:\xampp\htdocs\as400\index.php on line 16
MfG watchdogg
-
Über die ODBC-Verwaltung (Systemsteuerung->Verwaltung->Datenquellen) musst du einen DSN-Eintrag "AS400" erstellen (1. Parameter des odbc_connect).
-
du kannst scheinbar den dsn direkt in der methode eintragen:
PHP-Code:
int odbc_connect ( string $dsn , string $user , string $password [, int $ cursor_type ] )
und beim erstellen des DSN musst du auch den richtigen treiber angegeben haben.
DRIVER={Client Access ODBC Driver (32-bit)}
-
Danke euch beiden,
es geht jetzt. Ich kann mich verbinden.
Habe ja geschrieben, dass es gestern bereits ging.
Hatte mich zwischenzeitlich mal zum testen mit falschen Benutzerdaten angemeldet und siehe da - auf dem Server war ein kleines Fensterchen offen, wo drin stand, dass die Benutzerdaten falsch sind.
Deswegen konnte ich mich nicht mehr verbinden. Schön blöd - ich hätte nur mal auf den Server schauen sollen.
Sorry...
MfG watchdogg
-
gut zu wissen, dass in solch einem fall php stecken bleibt.
gibts da vlt. die möglichkeit eines monitor oder try?
eine fehlermeldung sollte schon zum user gelangen können.
-
Beim odbc_connect gibt es sicherlich einen Paramter für "no prompt", so dass das Anmeldefenster nicht hochkommt und die Verbindung dann halt fehlschlägt.
Similar Threads
-
By jgv in forum NEWSboard Drucker
Antworten: 7
Letzter Beitrag: 02-08-13, 09:28
-
By Azaron in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 05-12-06, 13:42
-
By MKl. in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 07-08-06, 07:46
-
By stephanr1 in forum NEWSboard Drucker
Antworten: 7
Letzter Beitrag: 20-07-06, 14:00
-
By ralfmh in forum Archiv NEWSboard Events
Antworten: 1
Letzter Beitrag: 07-10-04, 11:17
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks