Mit PHP eine Verbindung zu einer remote-MSSQL-Datenbank

Meinem lokalen WAMP-Umgebung. Für ein paar Seiten habe ich Zugriff auf eine Remote-hosted MSSQL-DB, Abfragen ausführen und wieder Ergebnisse.

Ich habe lieferte die folgenden Daten(Werte maskiert):

  • IP-Adresse des remote-MSSQL-Maschine: 11.22.33.44
  • Datenbank-Name: abcdefgh
  • Benutzername: db_username
  • Passwort: db_password

Habe ich nie Verbindung zu einem Remote gehosteten DB vor. Aus dem Beispiel an:
http://php.net/manual/en/function.mssql-connect.php

Habe ich versucht, diese in einer test-Datei, mssql-connect.php:

<?php
//Server in the this format: <computer>\<instance name> or 
//<server>,<port> when using a non default port number
$server = '11.22.33.44\abcdefgh';

//Connect to MSSQL
$link = mssql_connect($server, 'db_username', 'db_password');

if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}
?>

Ich bin irgendwie nicht in der Lage zu verbinden. Ich habe versucht, alle Variationen der Verbindungszeichenfolge:

$server = '11.22.33.44/abcdefgh';

$server = 'http://11.22.33.44\abcdefgh';

$server = 'https://11.22.33.44\abcdefgh';

$server = '11.22.33.44';

$server = '11.22.33.44:1431';

$server = '11.22.33.44,1431';

Jeder dieser(und Variationen davon) return 'Etwas ging schief beim verbinden zum MSSQL'.

Habe ich aktiviert mssql in php.ini und kann es sehen phpinfo. Gibt es irgendwelche zusätzlichen strings, übergeben werden muss?

  • Versuchen $server = '11.22.33.44',1433; - das sollte funktionieren wenn es eine default-Instanz und remote-verbindungen sind aktiviert und es ist keine firewall im Weg. Wenn es eine benannte Instanz verwenden, sollten Sie auch diese Informationen in Ihre Frage. Datenbank-name ist nicht Teil der server-Namen in der Verbindungszeichenfolge. Auch können Sie eine Verbindung zu diesem server Management Studio? Vielleicht versuchen Sie es vor dem Debuggen von PHP-code, und auch die Verbindung mit dem support-team bei der host - wenn Sie hosting SQL-Server für Sie, Sie wissen, wie zu helfen, Sie zu verbinden.
  • Ich habe gerade versucht $server = '11.22.33.44',1433; und bekam die Antwort 'Parse error: syntax error, unexpected ',' in C:\path_to_my_file\mssql-connect.php in Zeile 26'.
  • Es gibt keine firewall, da ich Zugriff auf diese über meine normale internet-Verbindung auf meinem Rechner (Standard-Einstellungen). Ich wurde darüber informiert, dass remote-verbindungen aktiviert wurden in der remote-DB. Nicht sicher, ob Sie eine Standardinstanz oder eine benannte Instanz. Bearbeiten Sie die Frage, wenn ich diese info. Werde versuchen über das Management Studio. Der web-host ist auf LAMP-Basis und ich habe in der phpinfo und fand, dass Sie nicht haben, mssql aktiviert. Ich werde Kontakt mit Ihnen morgen, dass es aktiviert ist. Ich wollte die Verbindung geht, bevor Sie versuchen, es aus meiner Gastgeber.
  • Was ist Zeile 26?
  • Sorry, $server = '11.22.33.44,1433';. Auch Ihre lokale computer ist nicht der einzige Ort, wo eine firewall vorhanden sein.
  • Nur schnell überprüft, nach dem entfernen das Komma(und damit der Hafen auch). Es gibt 'Warnung: mssql_connect() [function.mssql-connect]: Unable to connect to server: 11.222.33.44 in C:\path_to_file\mssql-connect.php in Zeile 29 wird Etwas schief ging, während die Verbindung zu MSSQL'.
  • Zeile 26: $server = '11.22.33.44';
  • Versucht $server = '11.22.33.44,1433';. Gibt die Fehlermeldung " Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 11.22.33.44,1433 in C:\path_to_file\mssql-connect.php in Zeile 31 Etwas schief ging, während die Verbindung zu MSSQL'. Zeile 31 ist $link = mssql_connect($server, 'db_username', 'db_password');.

InformationsquelleAutor arunmenon | 2015-04-17
Schreibe einen Kommentar