IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Connexion base SQL Server 2012 à l'aide de sqlsrv depuis un poste distant


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Points : 13
    Points
    13
    Par défaut Connexion base SQL Server 2012 à l'aide de sqlsrv depuis un poste distant
    Bonjour à tous,

    Je vous présente ma situation, j'ai une base de données Microsoft SQL Server 2012 Express d'installé sur un ordi sous Windows 7. Et sur un autre ordi sous Windows Server 2003 j'ai mon site web qui tourne avec Wamp. Ce dernier doit se connecter à ma base MSSQL afin de récupérer des données, puis les enregistrer sous ma base locale MySQL.

    Or, impossible de se connecter à ma base MSSQL à l'aide de mon fichier PHP contenant mes requêtes. Notamment ma requête "sqlsrv_connect".

    J'ai fait tout ce qu'il y avait à faire pour ouvrir le port 1433. J'ai même essayer avec SQL Server Management Studio pour voir, et là ça marche très bien.

    Que dois-je faire de plus ?


    Voici ma requête pour info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $DB_NAME = 'hypervision';
    $DB_HOST = '192.168.1.150';  
    $DB_USER = 'Admin';
    $DB_PASSWORD = 'monPass';
     
    $connect_info = array("UID" => $DB_USER, "PWD" => $DB_PASSWORD, "Database" => $DB_NAME);
     
    $link = sqlsrv_connect($DB_HOST, $connect_info);

    Merci de votre aide !!!

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Si je me rappelle bien, les instance Express sont nommées, donc vous peut-être qu'en changeant par $DB_HOST = '192.168.1.150\SQLEXPRESS' ça va fonctionner.
    Cela dit je vous conseille de changer votre IP par le nom du serveur : l'IP peut ainsi changer sans que le code soit à changer

    @++

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Points : 13
    Points
    13
    Par défaut
    Merci de la réponse !

    Pour le nom de l'instance, il est vrai qu'elle porte un nom, mais il n'est pas obligatoire avec SQL Server Management, donc ça doit être pareil ailleurs. Et même avec ça, ça ne marche pas.

    Pour le nom du serveur, ça aussi je l'avais fait, mais cela ne change rien également...

    Je ne sais plus quoi faire

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Quel est le message d'erreur exact que vous obtenez ?

    @++

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Bah en faites il n'y en a pas vraiment. L'erreur c'est que la fonction sqlsrv_connect() ne retourne pas de lien. D'où la suite des requêtes ne peuvent pas être exécutées...

  6. #6
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Il semble possible de tester la connection ouverte... ou pas.
    Si la connection n'est pas établie, un mesage d'erreur peut etre remonté.

    Source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    $serverName = "serverName\sqlexpress"; //serverName\instanceName
    $connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
     
    if( $conn ) {
         echo "Connexion établie.<br />";
    }else{
         echo "La connexion n'a pu être établie.<br />";
         die( print_r( sqlsrv_errors(), true));
    }
    ?>
    Ca pourrait aider à comprendre ce qui ne fonctionne pas.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Alors je ne sais pour quelles raisons, mais après avoir installé SQL Server 2012 Express sur un autre ordinateur, ça marche. Ce qui m'inquiètes un peu parce que du coup si c'était un problème de compatibilité, qui me dit que cela ne va pas se reproduire dans la suite de mon projet...

    Mais enfin bon, au pire je reviendrais vers vous à ce moment là.

    En tout cas merci à vous tous pour votre aide si précieuse !!

    À ++

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Points : 13
    Points
    13
    Par défaut
    Bonjour à tous

    Me revoilà...

    Maintenant que j'essaie de me connecter à la BDD MSSQL Server d'un ordinateur distant via internet cette fois, il m'est impossible de le faire. Est-ce que MSSQL Server est fait de telle sorte que ce genre de connexion est interdit ? Est-ce que je suis obligé de mettre en place un tunnel VPN entre mes 2 serveurs ?

    Merci

    Cordialement

  9. #9
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 145
    Points
    145
    Par défaut
    Bonsoir,

    Petite question toute bête...
    Vous dites ne pas pouvoir vous connecter au serveur SQL via Internet.
    Avez-vous pensez à la possible présence d'un Firewall ( Nécessité d'ouvrir le port utilisé par SQL. Par défaut 1433 ) ?
    Bien souvent on peut résumer les problèmes rencontrés par:

    select Cause from Error

    Results:
    Interface_Chaise_Clavier

    Bonne journée

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Merci de votre aide.

    Oui et non, j'avais bien fait les bonnes manips sur la base SQL Server et le pare-feu Windows, mais j'avais oublié de rediriger le port 1433 sur le routeur internet. Alors forcément...

    Mais maintenant c'est tout bon, ça marche tout bien !

    Merci, bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2012] Echec de connexion à un SQL SERVER 2012 Express distant
    Par kesamba dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 11/01/2015, 21h50
  2. [Débutant] Se connecter a une base SQL server 2012 [ASP MVC en VB]
    Par aspik77 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 07/10/2014, 19h08
  3. Réponses: 7
    Dernier message: 19/05/2014, 16h30
  4. Fermeture connexion base SQL Server
    Par peaceandloveman01 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 04/11/2009, 17h14
  5. connexion base sql server 2000
    Par gdebre dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/04/2007, 13h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo