[PHP]Verbindung mit SQL Server 2000 nicht möglich

Shader

Commander
Registriert
Aug. 2005
Beiträge
2.053
Nun ich arbeite mich bereits seit einigen Tagen in der PHP Programmierung ein. Heute wollte ich mich mal mit PHP und SQL Server beschäftigen. Also hab ich mich im Web darüber schlau gemacht und hab dann folgenden Code aufgestellt:

PHP:
<?php
$verbindung = mssql_connect("GECHEMTEST","sa","");
if (!$verbindung)
{
             echo "Keine Verbindung möglich!";
             exit;
}
else
{
             echo "Verbindung hergestellt!";
}
?>

Allerdings spuckt mir der Parser folgendes Problem aus:
Fatal error: Call to undefined function: mssql_connect() in C:\Programme\Apache20\Apache2\htdocs\sql_test.php on line 22

Also ich hab die Clienttools (Query Analyzer, Enterprise Manger ... ) für SQL Server 2000 installiert. Die Verbindung zum SQL Server funktioniert mit dem Query Analyzer auch ohne Probleme.
Ebenfalls steht in der php.ini ";extension=php_mssql.dll" drin.

Liegt das Problem am Script oder liegt es vielleicht doch an der Software?
 
du musst das ";" vor dem "extension=php_mssql.dll" rausnehmen.
Das ";" leitet nämlich eine Kommentarzeile ein, was bedeutet, dass aller folgender Zeileninhalt nicht berücksichtigt wird.
Damit sieht dein php gar nicht, dass die mssql.dll in der php.ini erwähnt wird.
 
Ich hab das ";" entfernt aber es geht immer noch nicht.
Kann es vielleicht bei meinen SQL Account liegen?
Ich hab da nämlich so ein paar Probleme, wenn ich im Enterprise Manager den Server registrieren will so schlägt dies immer fehl. Im Query Analyzer dagegen kann ich mich mit den selben Verbindungsdaten verbinden.
 
Ja Webserver hab ich Neugestartet aber dennoch klappts nicht, ich weiß da eigentlich nicht mehr weiter, ich bin ja auch noch nen PHP Neuling der sich in die Thematik einarbeiten will.
 
Hallo Shader,

prüf mal mit phpinfo(), ob Du auch die richtige php.ini bearbeitet hast.
Des Weiteren sag uns mal bitte, ob das ein eigens konfiguriertes System ist (also Apache, PHP etc. selber installiert und konfiguriert) oder ob Du z.B XAMPP verwendest.

Außerdem solltest Du im Ereignisprotokoll des Apache nachsehen, ob das MSSQL-Modul womöglich noch irgendwelche Libarys eines installierten MSSQL-Server oder Client benötigt, so wie es seit PHP5 auch für MySQL notwendig ist. In diesem Fall musst Du evtl. nur die PATH Variable deines Systems editieren.


Ciao
 
Also ich hab mich noch einmal in die Thematik reingehangen und siehe da, die Extension funktionieren jetzt. :) ABER dafür werd ich mit einer neuen Fehlermeldung beschert, und zwar mit folgende:

Warning: mssql_connect() [function.mssql-connect]: message: Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection. (severity 14) in C:\Programme\Apache20\Apache2\htdocs\sql_test.php on line 22

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: GECHEMTEST in C:\Programme\Apache20\Apache2\htdocs\sql_test.php on line 22
Keine Verbindung möglich!


Ich hab nich natürlich schlau gemacht und hab im "Enterprise Manager" unter "Properties" und "Security" als Authentication Mode "SQL Server and Windows" eingestellt, das als Problemlösung für "Not associated with a trusted SQL Server connection" zufolge Microsofts Support und anderen Quellen gilt, leider ohne Erfolg. :(

Jetzt bin ich also wieder überfragt. :(
Ich hoffe ihr könnt mir helfen ...
 
Zuletzt bearbeitet:
Hi,

überprüfe mal die Version der Datei: ntwdblib.dll.

Diese muss mindestens die Version 8.00.xxx haben. Mit PHP wird aber eine Version 7.00.xxx mitgeliefert. Wenn im entsprechenden PHP Ordner noch die alte Version rumliegen sollte, ersetze sie durch die Neue. Mehr Infos findest Du hier: http://www.php.net/manual/de/ref.mssql.php


Ich hoffe, das hilft Dir.

Ciao
 
Ich hab die Datei von Windows 2003 rüber kopiert aber mir zeigt phpinfo() immer noch "Library version 7.0" an. Wo bekomm ich denn jetzt eine 8er Version her?
Google gibt da leider diesmal nicht klares zurück. :rolleyes:
 
Such mal im Explorer nach der Datei, wobei Du die Anzeige von Systemordnern und Dateien aktivieren solltest. Womöglich hast Du die Datei mehrmals auf dem System.

Ansonsten hier ein Beitrag aus den Userkommentaren auf http://www.php.net

To connect to SQL Server 2005 you can download ntwdblib.dll from http://www.webzila.com/?wz=dll
Pick the smallest file there, the other one is French.


Dort trägst Du im Suchfeld den Dateinamen ein bekommst 2 Ergebnisse. Nimm wie beschrieben die kleinere, da die andere für die französiche Version zu sein scheint.


Ciao
 
So hab ich gemacht, ich hab die Datei sowohl unter system32 als auch unter PHP/dlls/ mit dieser Ersetzt, ohne Veränderungen.
Irgendwie bin ich wirklich buff. Naja ich lass es erst mal für heute sein, ich häng mich Morgen noch mal ran.
 
Zurück
Oben