À l'aide de PHP pour se connecter à distance à un MSSQL base de données

Mon environnement local est WAMP. Pour quelques pages, j'ai accès à un hébergée à distance MSSQL DB, exécuter des requêtes et obtenir les résultats.

J'ai été fournies les informations suivantes(les valeurs masquées):

  • Adresse IP de la télécommande MSSQL machine: 11.22.33.44
  • Nom de base de données: abcdefgh
  • Nom d'utilisateur: db_username
  • Mot de passe: db_password

Je n'ai jamais connecté à un hébergée à distance DB avant. À partir de l'exemple à:
http://php.net/manual/en/function.mssql-connect.php

J'ai essayé ceci dans un fichier de test, 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');
}
?>

Je suis de toute façon pas en mesure de se connecter. J'ai essayé toutes les variantes de la chaîne de connexion:

$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';

Chacun de ces(et les variations de ces) de retour "quelque Chose s'est mal passé lors de la connexion à MYSQL'.

J'ai activé mssql par le biais de php.ini et peut le voir phpinfo. Il a des chaînes qui doit être transmise?

  • Essayez $server = '11.22.33.44',1433; - cela devrait fonctionner si c'est une instance par défaut et les connexions à distance sont permis et il n'y a pas de pare-feu dans votre chemin. Si c'est une instance nommée, vous devez inclure cette information dans votre question. Nom de base de données ne fait pas partie du nom du serveur dans la chaîne de connexion. Aussi, pouvez-vous vous connecter à ce serveur de Gestion de Studio? Peut-être essayer il y a avant le débogage de code PHP, et aussi la connexion avec l'équipe de soutien à l'hôte - si elles sont à l'hébergement SQL Server pour vous, ils savent comment vous aider à vous y connecter.
  • J'ai juste essayé de $server = '11.22.33.44',1433; et a obtenu la réponse " Parse error: syntax error, unexpected ',' en C:\path_to_my_file\mssql-connect.php sur la ligne 26'.
  • Il n'y a pas de pare-feu depuis que je suis accédant à ce sur ma connexion internet normale sur mon ordinateur (paramètres par défaut). J'ai été informé que les connexions à distance ont été activés dans la distance DB. Pas sûr si c'est un défaut ou une instance nommée. Modifier la question quand je reçois cette info. Vais essayer en passant par le Management Studio maintenant. L'hébergeur du site est la LAMPE de base et j'ai vérifié le phpinfo et a constaté qu'ils n'ont pas mssql activé. Je vais les contacter demain pour l'avoir activé. Je voulais obtenir la connexion va avant d'essayer de le supprimer de mon hôte.
  • Qu'est-ce que la ligne 26?
  • Désolé, $server = '11.22.33.44,1433';. Aussi, votre ordinateur local n'est pas le seul endroit où un pare-feu qui peuvent exister.
  • Juste rapidement vérifié après la suppression de la virgule(et donc le port). Il renvoie 'Avertissement: mssql_connect() [function.mysql-connect]: Impossible de se connecter au serveur: 11.222.33.44 dans C:\path_to_file\mssql-connect.php sur la ligne 29, quelque Chose se passe mal lors de la connexion à MYSQL'.
  • Ligne 26: $serveur = '11.22.33.44';
  • Essayé $server = '11.22.33.44,1433';. Retourne l'erreur " Warning: mssql_connect() [function.mysql-connect]: Impossible de se connecter au serveur: 11.22.33.44,en 1433 C:\path_to_file\mssql-connect.php sur la ligne 31 quelque Chose se passe mal lors de la connexion à MYSQL'. La ligne 31 est $link = mssql_connect($server, 'db_username', 'db_password');.

InformationsquelleAutor arunmenon | 2015-04-17