DB2 PHP Verbindung
Gegraben durch stackoverflow jetzt seit ein paar Tagen. Eine Verbindung zu einer DB2-Datenbank mit PHP. Der folgende code kann nicht wieder den Fehler Nachrichten oder nützliche Informationen, und stattdessen bricht das Javascript später in die Seite.
include(TEMPLATEPATH.'/inc/library/adodb_lite/adodb.inc.php');
$DBName = 'DBNAME';
$Host = 'IPADDRESS';
$User = 'USER';
$Password = 'PASS';
$db = ADONewConnection('db2');
$dsn = "driver={IBM db2 odbc DRIVER};Database=$DBName;hostname=$Host;protocol=TCPIP;uid=$User;pwd=$Password";
if ($db->Connect($dsn)) {
echo "<div style='color:green;font-size:21px;'>Connection Successful.</div>";
} else {
echo "<div style='color:#cc0000;font-size:21px;'>Connection Failed db->Connect(dsn)</div>";
echo 'SQLSTATE: '.$db->ErrorNo()."<br>";
echo 'Message: '.$db->ErrorMsg()."<br>";
}
Als gefolgt von http://adodb.sourceforge.net/
- Möglicherweise finden Sie die Lösung in diesem thread: stackoverflow.com/questions/6980927/...
- Wie ich sagte, ich würde überall auf stackoverflow, das Lesen relevanten tags. Leider im Gegensatz zu in diesem thread, ich bin nicht zu sehen, Fehlermeldungen oder nützliche Informationen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mein Gedanke ist, dass Ihr Fahrer name nicht mit dem übereinstimmt, was Sie in Ihrem odbcinst.ini-Datei. Hier ist, was ich verwende:
odbcinst.ini
Beachten Sie, dass der "name" dieser Treiber ist definiert als "iSeries Access ODBC Driver" - was auch immer Sie zwischen die eckigen Klammern [].
Nun mein PHP-code sieht wie folgt aus:
Also sicher, dass Ihr Fahrer name (IBM db2 odbc-TREIBER) ist das gleiche in Ihrer odbcinst.ini-Datei.
Nun, wenn das nicht das problem löst, würde ich empfehlen, Sie wieder auf der ODBC-Protokollierung, indem Sie den folgenden, um Ihre odbcinst.ini-Datei:
Dass schreiben eine Menge Informationen in eine log-Datei, und geben Ihnen eine gute Vorstellung davon, was falsch ist. Wenn das immer noch nicht arbeiten, meine einzige andere Vorschläge sind die grundlegenden Dinge: stellen Sie sicher, dass die Benutzername/Passwort korrekt ist, wird der AS/400 aus erreichbar ist, der server läuft PHP, etc.
sudo apt-get install unixodbc php5-odbc
Auf Ubuntu wird es zu odbc.ini und odbcinst.ini in /etc. Wenn ich installierte die iSeries-Treiber musste ich auch tun:sudo cp /opt/ibm/iSeriesAccess/lib/* /usr/lib
zu erhalten .so dass die Dateien an dem Ort, wo ODBC erwartet Sie. Haben Sie versucht, geht um eine Kommandozeile und mit dem Befehl isql, um zu sehen, wenn Sie eine Verbindung herstellen können, um die AS/400?versuchen Sie es mit dieser
http://www.sitepoint.com/php-database-db2/