113805
Goto Top

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

Content-Key: 227171

Url: https://administrator.de/contentid/227171

Printed on: April 24, 2024 at 23:04 o'clock

Mitglied: 110135
Solution 110135 Jan 20, 2014, updated at Jan 23, 2014 at 20:40:22 (UTC)
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
Member: wiesi200
wiesi200 Jan 20, 2014 at 20:15:14 (UTC)
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
Mitglied: 113805
113805 Jan 20, 2014 at 20:42:01 (UTC)
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")  
Mitglied: 113805
113805 Jan 20, 2014 at 20:42:55 (UTC)
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..
Member: wiesi200
Solution wiesi200 Jan 20, 2014, updated at Jan 23, 2014 at 20:40:11 (UTC)
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 ...
Mitglied: 113805
113805 Jan 20, 2014 updated at 21:40:32 (UTC)
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?
Member: Hitman4021
Solution Hitman4021 Jan 20, 2014, updated at Jan 23, 2014 at 20:40:08 (UTC)
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
Mitglied: 113805
113805 Jan 21, 2014 at 07:31:57 (UTC)
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?
Mitglied: 110135
Solution 110135 Jan 21, 2014, updated at Jan 23, 2014 at 20:40:04 (UTC)
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
Mitglied: 113805
113805 Jan 21, 2014 at 19:57:12 (UTC)
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
Mitglied: 110135
110135 Jan 21, 2014 at 20:12:25 (UTC)
Goto Top
Hi,

welche PHP-Version setzt du ein?

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

Gruß,
FLorian
Member: Hitman4021
Hitman4021 Jan 21, 2014 at 20:39:18 (UTC)
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
Member: wiesi200
wiesi200 Jan 22, 2014 at 05:49:51 (UTC)
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.
Mitglied: 113805
113805 Jan 23, 2014 at 20:42:55 (UTC)
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"