Microsoft SQL Server mit Beta 2.2

Hallo,

ich lese hier schon längere Zeit (Jahre) mit und konnte mit Hilfe der Beiträge in diesem Forum schon viele Probleme lösen. Jetzt habe ich aber ein Problem wo ich nicht weiterkomme und deshalb an dieser Stelle auch mal schreibe.

Zur Datenspeicherung aus iP-Symcon benutze ich schon seit langem eine Microsoft SQL Server Datenbank. Durch einbinden der „php_mssql.dll“ und „ntwdblib.dll“ war dies auch kein größeres Problem und funktioniert bis 2.1 prima. Mit der Beta Version 2.2 und die Umstellung auf PHP 5.3.1 funktioniert dies leider nicht mehr. Nach einiger Recherche habe ich herausgefunden das die „php_mssql.dll“ wohl PHP ab 5.3 nicht mehr unterstützt.
Dafür gibt es eine DLL von Microsoft „php_sqlsrv.dll“ in der Version 1.1 die PHP ab 5.2 unterstützen soll. Wenn ich diese in das „ext“ Verzeichnis kopiere erhalte ich im log-file aber die Fehlermeldung das die Version nicht stimmt:

>Erweiterung php_sqlsrv_53_ts_vc6.dll nicht geladen. Version stimmt nicht überein: PHP: 5.3.1, EXT: 1.1.428

Vielleicht kann hier ja jemand weiterhelfen.

Viele Gruesse, Peter

Link zur Microsoft DLL: http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx

Hallo Peter,

die php_mssql.dll ist doch im normalen extension Ordner von 5.3.1 vorhanden.
Warum sollte sie dann nicht funktionieren.

Das Problem mit nicht passender Version hatten wir mit http.dll auch.

php_mssql.rar (13.4 KB)

Hallo Rainer,

das Problem ist wohl weniger die php_mssql.dll sondern die ntwdblib.dll die von der php-mssql dazu geladen wird. In verschiedenen PHP Foren wird von Problemen mit der ntwdblib (von Microsoft und wird nicht mehr gepflegt) und PHP ab 5.2 berichtet und es wird empfohlen die neue php_sqlsrv.dll zu benutzen.

Mit Beta 2.2 habe ich die Versionen 2000.2.8.0 und 2000.80.194.0 der ntwdblib ausprobiert und beim Versuch zur Datenbank zur „connecten“ erhalte ich in ips einen Fehler (oranges Ausrufungszeichen) ohne weiteren Fehlertext.

Deshalb habe ich Versucht auf die neue sqlsrv.dll umzustellen bei der ich aber die Versionsprobleme mit IPS habe. In einer „stand alone“ Installation von php 5.3.1 funktioniert diese bei mir aber.

Mit dem Versionsproblem der http.dll hatte ich auch gelesen. Da ich aber nicht weiß was man bei der php_sqlsrv patchen müßte und da die DLL generell mit php 5.3.1 funktioniert habe ich dies nicht weiterverfolgt.

Gruß, Peter

Hallo Peter,

im Anhang die Version die unter IPS laufen sollte. :slight_smile:

Ich habe die Versionsnummer angepasst.

php_sqlsrv_53_ts_vc6.rar (89.1 KB)

Hallo Rainer,

ein großes Dankeschön!

Laden der DLL und Connect zur Datenbank funktioniert. Jetzt kann ich auch auf 2.2 umstellen.

Gruß, Peter

P.S. Bei Gelegenheit mußt du mir mal verraten wie man so schnell die Versionsnummer angepasst.