113805

PHP mit Microsoft SQL Server verbinden

Hallo zusammen

Ich habe folgendes Problem.
Ich habe zwei VMs und möchte gerne vom Client zum Server verbinden.
Genauer gesagt in die Datenbank vom Microsoft SQL Server Management 2014.

vmS = Server, er besitzt die Microsoft SQL Server Management 2014 mit den Datenbanken
vmC = Client, er besitzt apache und php, er kann also php scripts ausführen. Das Problem ist nur es funktioniert nicht mit dem Verbinden mit der Datenbank

Ich habe es so versucht wie es normalerweise gehen sollte:

<?
mysql_connect("VMS", "VMS\vmadmin", "passwort")  
?>


aber es gibt leider diese Fehlermeldung aus:

Warning: mysql_connect(): Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte. in C:\xampp\htdocs\Projekt\test.php on line 2

Kann mir jemand Helfen?

Gruss
smackee
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 227171

Url: https://administrator.de/forum/php-mit-microsoft-sql-server-verbinden-227171.html

Ausgedruckt am: 14.05.2025 um 02:05 Uhr

110135
Lösung 110135 20.01.2014, aktualisiert am 23.01.2014 um 21:40:22 Uhr
Goto Top
Hallo,

dein Fehler liegt in Zeile 2. Warum möchtest du dich via MYSQL(!!) auf einen MSSQL-Server verbinden? Das ist zwar beides SQL - jedoch haben die sonst nicht soo viel gemein.

Schau mal hier:
http://www.php.net/manual/de/function.mssql-connect.php

<?php
$server = 'SERVER\INSTANZ';  

$verbindung = mssql_connect($server, 'benutzer', 'kennwort');  

Viel Erfolg!

Gruß,
Florian
wiesi200
wiesi200 20.01.2014 um 21:15:14 Uhr
Goto Top
Noch zusätzlich.

Ich hab das letztens auch getestet. Bei XAMPP war MSSql in der PHP.ini nicht aktiv und die entsprechende DLL war auch nicht dabei
113805
113805 20.01.2014 um 21:42:01 Uhr
Goto Top
Zitat von @110135:

Hallo,

dein Fehler liegt in Zeile 2. Warum möchtest du dich via MYSQL(!!) auf einen MSSQL-Server verbinden? Das ist zwar beides SQL
- jedoch haben die sonst nicht soo viel gemein.

Schau mal hier:
http://www.php.net/manual/de/function.mssql-connect.php

> <?php
> $server = 'SERVER\INSTANZ';  
> 
> $verbindung = mssql_connect($server, 'benutzer', 'kennwort');  
> 

Viel Erfolg!

Gruß,
Florian

Vielen Dank

Jedoch gibt es eine weitere Fehlermeldung:

Fatal error: Call to undefined function mssql_connect() in C:\xampp\htdocs\Projekt\test.php on line 2

Mit folgendem Code
<?php
mssql_connect("VMS", "VMS\vmadmin", "passwort")  
113805
113805 20.01.2014 um 21:42:55 Uhr
Goto Top
Zitat von @wiesi200:

Noch zusätzlich.

Ich hab das letztens auch getestet. Bei XAMPP war MSSql in der PHP.ini nicht aktiv und die entsprechende DLL war auch nicht dabei
Und wie kann ich das ändern?

Ich bin totaler neuling in Sache php. und habe in meiner Ausbildung ein kleines Projekt..
wiesi200
Lösung wiesi200 20.01.2014, aktualisiert am 23.01.2014 um 21:40:11 Uhr
Goto Top
Das ist eben der Fehler von dem ich geschrieben habe. Ich kann aber nicht sagen op die entsprechende DLL vorhanden ist.
Bei war sie nicht dabei. Hab's dann aber nicht mehr gesucht da mein Raspberry geliefert worden ist.
http://blog.dan911.de/microsoft-sql-server-2008-mit-xampp-verbinden-mss ...
113805
113805 20.01.2014 aktualisiert um 22:40:32 Uhr
Goto Top
Zitat von @wiesi200:

Das ist eben der Fehler von dem ich geschrieben habe. Ich kann aber nicht sagen op die entsprechende DLL vorhanden ist.
Bei war sie nicht dabei. Hab's dann aber nicht mehr gesucht da mein Raspberry geliefert worden ist.
http://blog.dan911.de/microsoft-sql-server-2008-mit-xampp-verbinden-mss ...

Vielen Dank für die Anleitung.
Jedoch das selbe Problem..

Edit:
Eine Meldung kommt auf wenn ich die Module von XAMPP neu starte:
PHP Startup: Unable to load dynamic library "C:\xampp\php\ext\php_mssql.dll" -
Das angegebene Modul wurde nicht gefunden.


Muss ich da etwas runterladen oder was?
Hitman4021
Lösung Hitman4021 21.01.2014, aktualisiert am 23.01.2014 um 21:40:08 Uhr
Goto Top
Hallo,

Gibt es die Datei die nicht gefunden wurde?
Soweit ich weiß war da mal irgendwas das es keine 64Bit MS-SQL Lib gibt. Könnte aber auch pdo_mssql gewesen sein.

Was sicher funktioniert ist pdo_odbc oder ein 32 Bit System.

Lg
113805
113805 21.01.2014 um 08:31:57 Uhr
Goto Top
Zitat von @Hitman4021:

Hallo,

Gibt es die Datei die nicht gefunden wurde?
Soweit ich weiß war da mal irgendwas das es keine 64Bit MS-SQL Lib gibt. Könnte aber auch pdo_mssql gewesen sein.

Was sicher funktioniert ist pdo_odbc oder ein 32 Bit System.

Lg

Wie es bei der Fehlermeldung auch steht, so ist es auch. die Datei kann nicht gefunden werden da keine exisitert.
Deswegen war meine Frage ob ich etwas runterladen soll(?)

Wie meinst du mit der pdo_odbc?
110135
Lösung 110135 21.01.2014, aktualisiert am 23.01.2014 um 21:40:04 Uhr
Goto Top
Hallo,

hier findest du alles, was du brauchst:
http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

Da lädst du die Datei runter.

Hier hast du eine recht gute Anleitung:
http://social.technet.microsoft.com/wiki/contents/articles/1258.accessi ...

Gruß,
Florian
113805
113805 21.01.2014 um 20:57:12 Uhr
Goto Top
Zitat von @110135:

Hallo,

hier findest du alles, was du brauchst:
http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

Da lädst du die Datei runter.

Hier hast du eine recht gute Anleitung:
http://social.technet.microsoft.com/wiki/contents/articles/1258.accessi ...

Gruß,
Florian

Hallo Florian

Vielen Vielen Dank für die Beschreibung.
Hatte ein kleines Problem, aber habe ich behoben.

Nun der nächste Fehler.
PHP Startup:pdo_sqlsrv: Unable to initialize module
Module compiled with module API:20060613
PHP compiled with module API=20100525
These options need to match

Was ist nun das Problem?

Gruss
110135
110135 21.01.2014 um 21:12:25 Uhr
Goto Top
Hi,

welche PHP-Version setzt du ein?

Problem ist folgendes: Die Extension ist für eine andere PHP-Version gedacht.

Gruß,
FLorian
Hitman4021
Hitman4021 21.01.2014 um 21:39:18 Uhr
Goto Top
Hallo,

ich glaube bei http://www.wampserver.com/ waren die MS-SQL Libs dabei.

Für was benötigst du das?
Evtl. solltes du dir mal grundsätzlich PHP anschauen bevor du mit PDO etc. arbeitest.

LG
wiesi200
wiesi200 22.01.2014 um 06:49:51 Uhr
Goto Top
Das interessante daran
Also die DLL war früher dabei und wurde dann raus genommen.

Das interessante aber, wenn du Linux als Webserver verwenden würdest. Dann währe alles für die Microsoft SQL dabei und würde auf anhieb funktionieren.
113805
113805 23.01.2014 um 21:42:55 Uhr
Goto Top
Zitat von @110135:

Hi,

welche PHP-Version setzt du ein?

Problem ist folgendes: Die Extension ist für eine andere PHP-Version gedacht.

Gruß,
FLorian

Ich danke hauptächlich dir Florian ich habe es endlich geschafft eine Verbindung zu erstellen, ich musste zusätzlcich noch "Microsoft® SQL Server® 2012 Feature Pack" installieren. face-smile

Noch eine kleine frage ich muss alles jetzt statt, z.B." mysql_query()" -> "sqlsrv_query()" schreiben.
wie sieht es aus mit dem auslesen einer Datenbank, bisher habe ich immer so geschrieben:
$abfrage = "SELECT * FROM Tabelle"