# mittels PHP Daten von einem MSSQL Server zugreifen und Datenübernehmen



## Purdey (1. April 2011)

Hallo

ausgehend von PHP möchte ich von Daten aus einer Tabelle eines MSSQL Servers lesen und in Formularfelder eines PHP Scriptes übernehmen. Die erste Frage wäre wie kann ich von PHP aus auf eine lokale MSSQL Datenbank zugreifen und dort eine Tabelle abfragen? 

Wer kann mir helfen? Wäre dankbar.

PHP läuft auch im lokalen Netzwerk allerdings laufen MS-SQL Server und Apache nicht auf dem selben Server.


----------



## Yaslaw (1. April 2011)

Was jetzt? MSSQL oder MySQL? Das ist ein wesentlicher Unterschied
Und läuft PHP ebenfalls lokal oder nicht?


----------



## Purdey (1. April 2011)

ich habe es mal angepasst im Post oben,

das ist mein bisheriger Weg.



> <?php
> $server = '192.168.22.100\XXX';
> $verbindung = mssql_connect($server, 'lesen', '');
> 
> ...



Ich erhalte

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 192.168.22.100\XXX in /opt/lampp/htdocs/Schulung/dbms.php on line 3
Beim Aufbau der Verbindung mit MSSQL ging etwas schief


----------



## Yaslaw (1. April 2011)

bei MySQL währe der Server 'localhost' anstelle der IP. Wie es in MSSQL ist, weiss ich nicht.


----------



## threadi (3. April 2011)

Wenn MSSQL und Apache nicht auf dem selben Server sind (wie Purdey auch sagt) wird die Angabe von localhost nichts bringen. Die Konfiguration ist schon korrekt, stammt vermutlich auch aus dem Manual:
http://de.php.net/mssql_connect

Meine Idee dazu: vermutlich ist der MSSQL-Port in der Firewall auf einem der beteiligten Server nicht freigegeben.


----------



## Purdey (4. April 2011)

Nein das sind unterschiedliche Server, das Problem muss aber wo anders liegen. 
denn ich habe in der /etc/php.ini

die extension=php_mssql.dll aktiviert nur unter linux gibt es ja keine dlls? Wie muss ich das abändern? 
Beim starten findet er die dll nicht, da der Pfad nicht exisitert.

XAMPP: Stopping MySQL...
XAMPP: Stopping ProFTPD...
XAMPP stopped.
Starting XAMPP for Linux 1.7.1...
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/ex              tensions/no-debug-non-zts-20060613/php_mssql.dll' - /opt/lampp/lib/php/extension              s/no-debug-non-zts-20060613/php_mssql.dll: cannot open shared object file: No su              ch file or directory in Unknown on line 0
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

ich benötige eine mssql.so datei welche ich dann in dem Pfad ablegen müsste dann funktioniert ers angeblich.


----------



## threadi (4. April 2011)

Manche Linux-Distributionen bieten die mssql.so in ihrer Paketverwaltung an. Wenn Du die installierst, musst Du aber XAMPP für Linux deinstallieren, da dann die Distributionseigenen Apache- und PHP-Pakete nötig sind.

Alternativ kann man auch die mssql.so selbst kompilieren. Hat vor allem einen Geschwindigkeitsvorteil, dann das Binary dann für dein System vorbereitet wurde. Der Aufwand ist jedoch gerade bei mssql.so doch ziemlich groß. Anleitungen dafür gibt es einige, z.B.:
http://howtogetitworking.com/2008/02/26/how-to-install-mssql-extension-for-php-on-unix/


----------

