PHP 5.4 und Zugriff auf MSSQL 2000?

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

PHP 5.4 und Zugriff auf MSSQL 2000?

Postby kschroeder » 09. April 2013 12:04

Hallo zusammen,

ich habe einen neuen Server aufgesetzt, mit aktueller Xampp-Version.
Wie ich dann festgestellt habe, laufen einige Module nicht mehr bzw. sind nicht mehr implementiert.

Darunter auch die Extension php_msssql.dll. Hier soll nun laut Internet php_sqlsrv_54_ts.dll zum Einsatz kommen.
Also von der MS Seite das Paket heruntergeladen und auf einer Seite den Quellcode umgestellt, da sich ja die Kommandos auch geändert haben.
Den Voraussetzungen nach auch noch den SQL Server Native Client 2012 installiert.
Beim Verbindungsversuch wird jetzt folgendes angezeigt:
SQL Server Native Client 11.0 unterstützt keine Verbindungen mit SQL Server 2000 oder früheren Versionen.

Tja, wie spreche ich denn nun mit aktuellem PHP die noch im Einsatz befindliche SQL Server 2000 DB an?

Gibt es vielleicht eine Direktive, die die Versionsprüfung abschaltet?
kschroeder
 
Posts: 251
Joined: 11. May 2007 13:33

Re: PHP 5.4 und Zugriff auf MSSQL 2000?

Postby Altrea » 09. April 2013 15:28

Hallo kschroeder,

kschroeder wrote:Gibt es vielleicht eine Direktive, die die Versionsprüfung abschaltet?

Das ist eine Versionsprüfung des MS Native Client, von daher wäre diese Frage in einem Microsoft Support Forum besser aufgehoben.

Ich sehe hier nur zwei Möglichkeiten:
  • eine ältere Version des MS Native Client probieren, sofern du eine auftreiben kannst
  • Verbindung über ODBC aufbauen

beachte weiterhin, dass der SQL Server 2000 von Microsof nichtmehr supported wird. Das führt unweigerlich dazu dass auch andere Programmierer den Support für solche Produkte fallenlassen. Irgendwann hat jeder Lebenszyklus mal ein Ende :D

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6542
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64

Re: PHP 5.4 und Zugriff auf MSSQL 2000?

Postby kschroeder » 09. April 2013 15:47

Ich hatte gehofft, dass es eventuell beim Connect einen optionalen Parameter gibt, der die Prüfung unterbindet.
(Das der überhaupt prüft.... schluckt doch auch unnötige Zeit)

Wir werden wohl oder übel noch mindestens dieses jahr, ev. noch nächstes Jahr mit dem SQL Server 2000 auskommen müssen.
Heißt, entweder doch noch solange den alten Server verwenden und warten, oder eben mit der älteren Version vom MS Native Client.
Mit dem ODBC-Zugriff hab ich mich bisher noch nicht beschäftigen müssen, eventuell auch noch eine Option.

Danke erstmal.
kschroeder
 
Posts: 251
Joined: 11. May 2007 13:33

Re: PHP 5.4 und Zugriff auf MSSQL 2000?

Postby kschroeder » 10. April 2013 10:09

Hallo nochmal,

ich versuche jetzt den Zugriff über ODBC hinzubekommen, aber bekomme den Verbindungsaufbau nicht zustande.
Leider, und hier liegt warscheinlich das Hauptproblem, bekomme ich keine Fehlermeldung zurück, die mich auf die richtige Fährte führen könnte.
Im Error-Log vom Apache und vom PHP ist auch nichts zu finden.
Über die ODBC-Verwaltung vom OS kann ich auf den SQL Server zugreifen (und z.B. die verfügbaren DBs anzeigen lassen).

Hier dauert es einige Sekunden, bis der Verbindungsversuch abgebrochen wird.
Code: Select all
$conn = odbc_connect("DRIVER={SQL Server};Server='dbserver\InvoiceServer';Database='DB'",'myusername','mypassword');

if (!($conn)) {
   echo "<p>Connection to DB via ODBC failed: ";
   echo odbc_errormsg ($conn );
   echo "</p>\n";
} else {
   echo "SUCCESS!!";
}


Wenn ich wie in einigen Beispielen im Web den Verbindungsversuch so durchführe:
Code: Select all
$my_connect = "Driver={SQL Server};".
            "CommLinks=tcpip(Host=dbserver\InvoiceServer);".
            "ServerName=dbserver\InvoiceServer;".
            "DatabaseName=DB;".
            "uid=myusername;pwd=mypassword";

$conn = odbc_connect($my_connect,'','');

... dann dauert der Aufruf keine Sekunden mehr, aber leider auch keine Fehlerbeschreibung.


Ich habe es auch mit dem direkten DSN-Connect versucht:

Code: Select all
$conn = odbc_connect("SQLServer";'myusername','mypassword');


Aber die Verbindung schlägt auch fehl und keine Fehlermeldung.


Hat jemand eine Idee?
kschroeder
 
Posts: 251
Joined: 11. May 2007 13:33

Re: PHP 5.4 und Zugriff auf MSSQL 2000?

Postby kschroeder » 11. April 2013 12:46

Kann es eventuell sein, dass eventuell ODBC grundsätzlich ein Problem hat? Denn ich habe mittlerweile mit 2 Datenbanken über ODBC ein Problem, die beide über den ODBC-Admin-Verbindungstest funktionieren.
a) wie kann ich denn feststellen, ob überhaupt ODBC funktioniert?
b) Kann eventuell das Logging deaktiviert sein? Oder kann ein Logging aktivieren, damit ich irgendeine Fehlermeldung erhalte?
kschroeder
 
Posts: 251
Joined: 11. May 2007 13:33

Re: PHP 5.4 und Zugriff auf MSSQL 2000?

Postby kschroeder » 11. April 2013 15:23

Heureka, ich habe die Ursache gefunden und lösen können.

Die Erleuchtung kam mir, als ich mir über phpinfo() nochmal die Anzeige für ODBC angeschaut habe und dort 32bit stand.
Unter 64Bit Betriebssystemen findet man in der Systemsteuerung/Verwaltung zwar einen ODBC-Manager, aber eben auch nur für 64bit.
Ich musste den Manager unter c:\windows\SYSWOW64\odbcad32.exe aufrufen und dort die Verbindungen einrichten.
Danach funktionieren nun meine Aufrufe fehlerfrei.

Es wäre sicherlich viel schneller gegangen, wenn ich bloß eine Fehlermeldung erhalten hätte, aber ok... Problem gelöst, Rest egal ;-)
kschroeder
 
Posts: 251
Joined: 11. May 2007 13:33


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 17 guests