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

PHP & Base de données Discussion :

Connexion SQL Server en ODBC


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut Connexion SQL Server en ODBC
    Bonjour,

    je cherche à me connecter sur un serveur distant en interne (intranet) via odbc. Voici mes paramètres de connexion:

    $dsn="Driver={SQL Server};"."Server=192.168.9.100;"."database=societe;"."uid=bidule;pwd=truc";

    puis la connexion :

    if (($s=odbc_connect($dsn,'sa','')) == FALSE){
    echo "erreur sur la base de données";
    }
    else{...}

    j'obtiens la chose suivante en réponse :
    Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC SQL Server Driver]Le client n'a pas pu établir la connexion, SQL state 08001 in SQLConnect in ....

    Je ne vois pas trop d'ou cela peut venir dans la mesure où je fais la même chose avec mes autres serveurs et que cela fonctionne. La différence entre ce serveur et les autres : celui ci est en 2003 et les autres en 2000.

    Quelqu'un aurait-il une idée?

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Procede comme ceci pluto:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $conn = odbc_connect($dsn,$user,$passwd);
    ou dsn et le nom configuré dans ton driver odbc...
    Stay in Bed .. Save Energy

  3. #3
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut
    y'a un truc que je capte pas... comment se fait-il que sur un autre serveur j'arrive à me connecter et à lire dans les bases sql server alors que lorsque je vais sur ce même serveur dans outils d'administration > sources de données (ODBC), je ne trouve aucune source ODBC ?
    dans sources de données utilisateur, j'ai dBase, Fichiers Excel, MS Access et FoxPro mais rien concernant SQL Server....

    je capte pas là...

  4. #4
    Membre habitué Avatar de scorpking
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 232
    Points : 181
    Points
    181
    Par défaut
    parce que l'odbc regroupes ces différentes bases

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    moi non plus bon essaye de rajouter le driver sql server alor..
    Les drivers de pont JDBC/ODBC : ce type de pilote, fourni en standard avec le J2SE (Java 2 Standard Edition), permet de convertir les appels JDBC en appel ODBC (Open Database Connectivity). ODBC est fourni en standard sur tout Windows et permet la connexion à des bases de natures diverses (Access, SQL Server, Oracle, ...).
    reponse
    Stay in Bed .. Save Energy

  6. #6
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut
    Citation Envoyé par scorpking
    parce que l'odbc regroupes ces différentes bases
    c'est à dire?

  7. #7
    Membre habitué Avatar de scorpking
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 232
    Points : 181
    Points
    181
    Par défaut
    si j'ai bien ecouté en cour les odbc c'est pour se connecter a différentes base comme exel access et d'autres mais ça n'a pas l'air d'etre ça que tu voulais dire

  8. #8
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut
    OK ma source odbc est créée (nom : sqlserver). Le problème est que la base est distante. Comment s'y connecter en php?

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Tu t'y connect avec odbc_connect:

    $conn = odbc_connect($dsn,$user,$passwd);
    Stay in Bed .. Save Energy

  10. #10
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut
    Alors, j'ai tenté de créer, sur mon serveur web un DSN, via outils d'administration>sources odbc>ajout source utilisateur...

    dans cet outil, je teste la connexion, pas de problème

    et lorsque dans mon script je tente de faire une connexion de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     $conn  =  odbc_connect("Driver={SQL Server};Server=calais","sa","");
     echo  "conn:  $conn";
     if  ($conn  <=  0)  {echo  "Error  in  connection<BR>";}
     else  {echo  "<P>Connection  successful\n";}
    "calais" étant le nom du DSN créé via outils d'administration>source odbc...

    et voici le message d'insultes que je reçois...

    Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC SQL Server Driver][Named Pipes]Serveur SQL spécifié non trouvé., SQL state 08001 in SQLConnect in C:\www\intranet\intrater\section\parcmateriel\include\essai.php on line 5

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    essaye comme ça..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      $conn  =  odbc_connect('calais','sa','');
      echo  "conn:  $conn";
      if  ($conn  <=  0)  {echo  "Error  in  connection<BR>";}
      else  {echo  "<P>Connection  successful\n";}
    en sachant que sa doit etre ton nom dutilisateur et pas de password
    Stay in Bed .. Save Energy

  12. #12
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut
    nouvelle insulte :

    pour l'essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     $conn  =  odbc_connect('calais','sa','');
     echo  "conn:  $conn";
     if  ($conn  <=  0)  {echo  "Error  in  connection<BR>";}
     else  {echo  "<P>Connection  successful\n";}
    j'obtiens :

    Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][Gestionnaire de pilotes ODBC] Source de données non trouvée et nom de pilote non spécifié, SQL state IM002 in SQLConnect in C:\www\intranet\intrater\section\parcmateriel\include\essai.php on line 5
    conn: Error in connection

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    moi je fais ca avec mon script certes c'est un autres pilote odbc...mais bon ca viens surement de la config de ton pilote..précision je suis sous linux ....donc moi je fais dans mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $conn = odbc_connect($dsn,$user,$passwd);  /*avec dsn :nom du lien odbc ds le fichier de config odbc.ini*/
    Stay in Bed .. Save Energy

  14. #14
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut
    le truc c'est que ça fonctionne sur des serveurs 2000 mais pas sur le seul serveur 2003. Je vais aller voir du côté du odbc.ini si je le trouve...

  15. #15
    Membre habitué
    Homme Profil pro
    Data Ingenieur
    Inscrit en
    Mai 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Data Ingenieur
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2006
    Messages : 133
    Points : 162
    Points
    162
    Par défaut
    voici une fonction qui marche nickel chez moi...



    // se connecte à un serveur et renvoie un message d'erreur le cas échéant
    function ODBC_connexion($host, $username, $password, $db) {
    $connection_string = "DRIVER={MySQL ODBC 3.51 DRIVER};SERVER=".$host.";DATABASE=".$db.";";
    $conn = odbc_connect($connection_string, $username, $password);
    if(!$conn) {
    echo "Impossible d'établir une connexion au serveur ".$host."<br>";
    exit;
    } else {
    return $conn; // identifiant de connexion
    }
    }

  16. #16
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut
    sans doute, mais pas chez moi dans la mesure ou je tente de me connecter à un serveur MSSQL Server.

    Si je tente :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function ODBC_connexion($host, $username, $password, $db) {
      $connection_string = "DRIVER={SQL SERVER};SERVER=".$host.";DATABASE=".$db.";";
      $conn = odbc_connect($connection_string, $username, $password);
      if(!$conn) {
        echo "Impossible d'établir une connexion au serveur ".$host."<br>";
        exit;
      } else {
        return $conn; // identifiant de connexion
      }
    }
    j'obtiens la même réponse :
    SQL error: [Microsoft][ODBC SQL Server Driver][Named Pipes]Accès refusé., SQL state 08001 in SQLConnect

  17. #17
    Membre actif Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Points : 206
    Points
    206
    Par défaut
    sql server doit utiliser certain port qui sont souvent bloque !!

    mais si tu as reussi envoi l'info

    merci d'avance

Discussions similaires

  1. [PDO] Persistance connexion SQL Server odbc
    Par maxwell374 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/10/2010, 10h17
  2. Réponses: 0
    Dernier message: 25/08/2010, 13h19
  3. ODBC, Echec de connexion à SQl Server
    Par zemblamoh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/07/2009, 16h31
  4. [SQL-Server] Problème avec odbc et ma connexion SQL Server
    Par vodevil dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 09/12/2005, 10h04
  5. pb connexion sql server 2000 avec ODBC
    Par prophete3d dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/11/2005, 17h19

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