Seite 1 von 1

Keine ODBC-Verbindung

Verfasst: 13.06.2008 12:13
von TheScientist
Hallo zusammen,

bei meiner Installation von phpBB kann keine Verbindung zur ODBC-Datenquelle hergestellt werden. Leider gibt es keine Fehlermeldung zum Verbindungsversuch - das Script läuft bis die maximale Ausführungszeit erreicht ist: "The specified CGI application exceeded the allowed time for processing. The server has deleted the process".

Hier ein paar Fakten:

### phpBB-Installation
- Im Installationsschritt "Requirements" steht hinter "MSSQL Server 2000+ via ODBC:": "Available"
- Im Installationsschritt "Database settings" ist alles korrekt eingetragen, auch mit Port (auch wenn es der Standardport 1433 ist)

### SQL-Server....
- Version: SQL Server Standard Edition, v. 8.00.2039 (SP4)
- In der Netzwerkkonfiguration sind TCP/IP-Verbindungen über Port 1433 erlaubt
- Der Benutzer ist in der entsprechenden Datenbank db_owner

### ODBC-Datenquelle
- SQL-Authentifizierung wird genutzt
- Verbindung läuft einwandfrei

Ich habe im Installationverzeichnis von phpBB eine Testdatei erstellt, die mit den gleichen Daten, die ich in der phpBB-Installation angegeben habe, eine ODBC-Verbindung herstellt. Das funktioniert ohne Probleme!

Hier der Codeausschnitt, um zu zeigen, dass ich keine speziellen Einstellungen gemacht habe:

Code: Alles auswählen

$conn = odbc_connect('dsn','user','password');
odbc_exec($conn, 'CREATE TABLE odbctest(ID Numeric);');
odbc_close($conn);
Ergebnis: Die Verbindung wird hergestellt, die Tabelle erstellt und die Verbindung wieder geschlossen.

Hat jemand vielleicht noch eine Idee? Ich weiß nicht weiter... :-(

Danke im Voraus!

Verfasst: 13.06.2008 14:30
von PhilippK
Lass bitte mal testweise den Port weg. Der dürfte bei ODBC nicht notwendig sein und nur ins leere führen.

Gruß, Philipp

Verfasst: 13.06.2008 14:44
von TheScientist
Das hilft leider nicht...gleiches Ergebnis.

Verfasst: 13.06.2008 15:36
von PhilippK
Mhh - die Fehlermeldung stammt vom IIS...
Welche PHP-Version hast du denn im Einsatz? Kannst du ggf. PHP auch per ISAPI einbinden?

Gruß, Philipp

Edit: der Fehler tritt auf, wenn das PHP-Skript länger braucht, als es der IIS zulässt: http://www.webservertalk.com/message100595.htmlWas für ein Ausführungszeitlimit hast du den bei PHP definiert?

Verfasst: 13.06.2008 16:19
von TheScientist
PHP-Version: 5.1.0
max_execution_time = 30
CGI script timeout = 300

Da greift nur das CGI-Zeitlimit. Es dauert fünf Minuten, bis der Fehler kommt.

Auf ISAPI umzusteigen ist mir im Moment zu riskant. Ich merke immer wieder, wie verwöhnt man doch mit einem stabilen Linux-Server ist... ;-)

EDIT:
Egal, was für Theorien ich mir immer wieder ausdenke - der Umstand, dass ich manuell eine Verbindung über PHP->CGI->ODBC->MSSQL aufbauen kann, wirft doch wieder alles über den Haufen.

Verfasst: 13.06.2008 23:08
von PhilippK
Mich wundert, dass dann keine Fehlermeldung von PHP kommt. Kannst du mal testweise in PHP den safe_mode aktivieren?

Gruß, Philipp

Verfasst: 16.06.2008 17:44
von TheScientist
im safe_mode gab es leider auch keine PHP-Fehlermeldung. Gleiches Ergebnis.

Verfasst: 16.06.2008 22:04
von PhilippK
Komisch...
Sieht mir nach einem Problem zwischen PHP und dem IIS aus. Es ist ja nicht gesagt, dass die ODBC-Verbindung das Problem ist.
Denn wenn PHP im safe_mode läuft, bricht PHP nach der eingestellten Verarbeitungszeit ab - und wenn der IIS deutlich länger auf die Antwort von PHP wartet, hakt's irgendwo dazwischen.

Ich würde jetzt mal eine andere PHP-Version und/oder ISAPI probieren. Siehe auch http://www.webmaster-talk.com/articles/ ... -iis-.html

Gruß, Philipp

Verfasst: 16.06.2008 23:23
von TheScientist
O. K.

Da muss ich wohl durch. Danke schon mal für die Hilfe. Ich gebe Bescheid, ob es dann funktioniert.

Verfasst: 03.10.2008 13:20
von tex4ever
Hi,

ich habe exakt das gleiche Problem. Konntest Du das Problem inzwischen lösen?

Vielen Dank
Tex