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 :

Erreur : odbc_connect [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut Erreur : odbc_connect
    Bonjour les amis,

    j'ai un problème lors de la connexion a une base de donnees Sql server avec ODBC (en utilisant DSN)

    voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php  
    $db_serveur = "DESKTOP-C04QSTD";
    $db_user="DESKTOP-C04QSTD\\hamza";  
    $pwd = "123"; 
    $db_DSN = "dbTest";
     
    $conn=odbc_connect($db_DSN,$db_user,$pwd); 
    ?>
    mais un message d'erreur est affiché ;

    Nom : err.PNG
Affichages : 1624
Taille : 11,8 Ko


    j''utilise Wampserver 2.5 32 bits (php 5.5)

    merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ton DSN n'est pas complet, regarde les exemples :
    http://php.net/manual/fr/function.odbc-connect.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    il faut respecter la syntaxe.


  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    Citation Envoyé par sabotage Voir le message
    ton DSN n'est pas complet, regarde les exemples :
    http://php.net/manual/fr/function.odbc-connect.php

    merci pour votre reponse, je viens de tester ça mais le meme message d'erreur

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    merci pour la réponse, mais je pense que j'ai bien respecrer la syntaxe

    code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php  
     
    $db_serveur = "DESKTOP-C04QSTD";
     
    $db_user="DESKTOP-C04QSTD\\hamza";  
     
    $pwd = "123"; 
     
    $db_DSN = "dbTest";
     
     
    $conn= odbc_connect("Driver={SQL Server Native Client 11.0};Server=$db_serveur;Database=$db_DSN;", $db_user, $db_DSN);  ?>

    Nom : tt.PNG
Affichages : 1570
Taille : 38,4 Ko

    merci

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    stp j'aurai besoin d'une réponse, j'ai le driver ODBC installé sur mon serveur,

    voila mes nouvelles configurations :

    WampServer 3.1.0 (php 7.0.23 appache 2.4.27)

    Code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php  
     
    $db_serveur = "DESKTOP-C04QSTD";
    $db_user="DESKTOP-C04QSTD\\hamza";  
    $pwd = "123"; 
    $db_DSN = "dbTest";
     
     
    $conn=odbc_connect("Driver={SQL Server};Server=$db_serveur;Database=$db_DSN;", $db_user, $pwd);
     
    if($conn) {
    	echo "Connected";
    }
    else
    {
    	echo "erreur";
     
    } 
     
    ?>
    Nom : Capture.PNG
Affichages : 1522
Taille : 18,0 Ko

  7. #7
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    $user = 'username';
    $pass = 'password';
    $server = 'serverName\instanceName';
    $database = 'database';
     
    // No changes needed from now on
    $connection_string = "DRIVER={SQL Server};SERVER=$server;DATABASE=$database";
    $conn = odbc_connect($connection_string,$user,$pass);
     
    if ($conn) {
        echo "Connection established.";
    } else{
        die("Connection could not be established.");
    }
    ?>
    As-tu testé :
    ??

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    Oui j'ai deja teste ça ( j'ai fait la meme chose avec c# et python et ca fonctionne parfaitement mais pas aves php)
    est ce que je dois installer un driver ou qlq chose ( j'ai driver ODBC et sqlsrv dans mon phpInfo)

  9. #9
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Tu as mal compris la question de Jreaux, je crois. As-tu testé ça :


    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $db_serveur = "DESKTOP-C04QSTD";
    $db_user="hamza";  
    $pwd = "123"; 
    $db_DSN = "dbTest";
     
     
    $conn=odbc_connect("Driver={SQL Server};Server=$db_serveur;Database=$db_DSN;", $db_user, $pwd);
     
    if($conn) {
    	echo "Connected";
    }
    else
    {
    	echo "erreur";
     
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    Citation Envoyé par Dendrite Voir le message
    Tu as mal compris la question de Jreaux, je crois. As-tu testé ça :

    Oui j'ai testé mais ca marche pas, ce que je veux dire c'est que j'ai fait la meme configuration pour accéder a cette base en c# et python et ca fonctionne tres bien sans aucun problème. sauf la je suis bloqué

    Merci pour vos réponses. je suis toujours en recherche d'une solution.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par hamzaHDR Voir le message
    ...j''utilise Wampserver 2.5 32 bits (php 5.5)...
    1- Déjà, c'est une ancienne version...

    2- As-tu bien activé php_pgsql dans les extensions PHP de WampServer ?

  12. #12
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    1- en effet j'ai teste avec plusieurs version de WampServer ( Maintenant je suis sur WampServer 3.1.0)

    2- en effet ca était pas activer, je viens d'activer cette extension ( on verrra c'est ca va changer qlq chose)

  13. #13
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    rien n'a été changé, j'ai trouvé un proposition pour résoudre ce problème, mais j'ai pas encore testé ça

    J'ai la connexion ODBC en mode utilisateur

  14. #14
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Citation Envoyé par hamzaHDR
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $conn= odbc_connect("Driver={SQL Server Native Client 11.0};Server=$db_serveur;Database=$db_DSN;", $db_user, $db_DSN);
    [1] La partie Driver semble bonne, puisque le Driver "SQL Server Native Client 11.0" s'est fait verifier visuellement dans le "odbc data source adminstrator". C'est assez d'assurance. La syntax est aussi bonne : il est acceptable d'écrire DRIVER ou Driver ou possiblement d'autre combinaisons et il est acceptable d'écrire Driver={SQL ...}; ou également acceptable d'écrire Driver=SQL ...;. C'est pour tout ça que je dirais cette partie est bonne.

    [2] La partie Server=$db_serveur semble problématique.

    [2.1]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $db_serveur = "DESKTOP-C04QSTD";
    Ceci semble incorrect. Pour s'assurer, executez le services.msi et chechez le service de SQL Server. Dans ses "properties", vous devrez capable de découvrir la ligne de commande avec l'argument -sXXXXX. Il faut faire attention de cette donnée XXXXX. Si le computer se nomme "DESKTOP-C04QSTD", essayez de définir db_serveur comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $db_serveur = 'DESKTOP-C04QSTD\XXXXX;
    [3] La partie Database=$db_DSN semble problématique aussi.

    [3.1]Si vous partez avec l'intention de faire la connection via DSN et ça donne comme nom de DSN "dbTest" : c'est bien. Mais si après vous essayez de faire une version dite DSN-less, il ne faut pas prendre dbTest comme la donnée pour Database=xxx, puisque les duex ne sont pas a priori la même. Il faut prendre le nom de la base telle quelle est et ce n'est pas nécessairement "dbTest". Si par chance, la base de données s'est appelée dbTest, ok, sinon il faut mettre le vrai nom de bdd.

    [3.2] On se tient mieux de nommer une variable comme $db_nom au lieu de $db_DSN pour une connexion 'DSN-less' puisque elles peuvent prendre des valeurs tout à fait différentes.

    [4] la partie $db_user pose problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $db_user="DESKTOP-C04QSTD\\hamza";
    Je dirais qu'il ne faut pas mettre la partie de host devant hamza, en particulier si on met le nom de utlisateur dans la chaîne de texte de connexion, là, il ne faut absolument pas y mettre. Donc, je propose de le remettre comme:
    et je vais proposer une version de chaîne de connexion comprenant ce nom.

    [5] La chaîne de texte de connexion
    Je voudrais proposer que, après avoir fait tous les vérifications ou corrections dessus, on construit la chaîne de texte de connexion comme ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sconn="Driver={SQL Server Native Client 11.0};SERVER=$db_serveur;DATABASE=$db_nom;UID=$db_user;PWD=$pwd";
    $conn=odbc_connect($sconn, $db_user, $pwd);
    Dans le réel, j'ai des connexions qui se construisent de cette façon... Voilà !

  15. #15
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    Citation Envoyé par tsuji Voir le message
    [1]
    Merci beaucoup pour la réponse et de votre temps, mais malheureusement toujours j'ai un problème ( vraiment je suis perdu )
    voila le message d'erreur :

    Nom : y4.PNG
Affichages : 1541
Taille : 18,8 Ko

    si tu veux stp donne moi votre numéro de téléphone pour t'envoyer le ID et le mdp de teamviewer pour que tu puisse accéder a ma machine

  16. #16
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Vous devrez vous assurer le service SQL Server est entamé - "started" (inspectez ce qu'il dit avec services.msc).

  17. #17
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    il faut à chaque fois MONTRER TON CODE !

    Sinon, on ne peut pas corriger.

  18. #18
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    Citation Envoyé par tsuji Voir le message
    Vous devrez vous assurer le service SQL Server est entamé - "started" (inspectez ce qu'il dit avec services.msc).
    Bonjour merci pour la réponse : en effet la base de données et dans un serveur( sur une autre machine )
    J'ai juste la connexion DSN sur le panneau de configuration ODBC ( j'ai deja utiliser cettte avec d'autres langages sans aucun problème)

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php                         //\\MSSQLSERVER"; 
     
    $db_serveur = "x.x.x.x";   
    $db_user="userr";   
    $pwd = "";  
    $db_nom = "nomBD"; 
     
    #1
    $conx = new PDO("odbc:Driver={SQL Server};Server=$db_serveur;Database=$db_nom; Uid=$db_user;Pwd=$pwd;"); 
     
    #2
     
    $connectionInfo = array( "UID"=>$user,                            
                             "PWD"=>$pwd,                            
                             "Database"=>$databaseName); 
     
    conn = sqlsrv_connect( $serverName, $connectionInfo);  
     
    #3
     
    $conn=odbc_connect("DRIVER={SQL Server};server=$db_serveur;Database=$db_nom;",$db_user,$pwd);
     
     
     
    if($conn) {
    	echo "Connected";
    }
    else
    {
    	echo "erreur";
    	//die( print_r( sqlsrv_errors(), true));
    } 
     
    ?>

    Comme le montre le code j'ai essaye plusieurs solutions ( deux jours de recherche )

  19. #19
    Invité
    Invité(e)
    Par défaut
    La syntaxe, on la connais... encore faudrait-il que tu la respectes et que tu arrêtes de changer à chaque fois (PDO, pgsql, odbc,.... il faudrait savoir !)

    Là où tu fais certainement des erreurs, c'est dans les PARAMETRES :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $db_serveur = "x.x.x.x";   
    $db_user="userr";   
    $pwd = "";  
    $db_nom = "nomBD";
    Si tu nous montres n'importe quoi, on ne peut rien pour toi...

  20. #20
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Si tu nous montres n'importe quoi, on ne peut rien pour toi...
    ce sont des données de l'entreprise, donc voila a ce que ressemble les données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $db_serveur = "10.110.X.X";   
    $db_user="jhamza";   
    $pwd = "";  
    $db_nom = "ControleDep";
    le problème c'est que j'ai tester ca sur ma machine personnel et toujours le même problème, donc j'ai fait mal les choses.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [SQL-Server] Erreur s1000 odbc_connect
    Par Sebastien14 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 20/05/2015, 12h27
  2. [ODBC] Message d'erreur odbc_connect
    Par chuspyto dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/03/2015, 10h03
  3. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  4. erreur IDL:omg.org/CORBA/MARSHAL:1.0
    Par Pinggui dans le forum CORBA
    Réponses: 3
    Dernier message: 13/05/2002, 15h05
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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