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 :

pblm connexion dns odbc [ODBC]


Sujet :

PHP & Base de données

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 22
    Points
    22
    Par défaut pblm connexion dns odbc
    Bonjour,

    dans le cadre de mon stage de fin d'année de Master 1ere année (je précise je ne suis pas dans un master informatique donc excusez mon amateurisme) je dois exploiter les données d'une bdd hyperfile. Pour l'attaquer j'ai donc crée uns DSN via un driver HyperfileSQL, malheureusement sans succès car toujours le même message d'erreur en retour :
    Warning: odbc_connect() [function.odbc-connect]: SQL error: Impossible de se connecter : la chaîne de connexion est insuffisante, SQL state 01S00 in SQLConnect
    voici mon 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 
     
    declarations des diverses variables ....
     
    $dsn="DRIVER={HyperFileSQL};" . 
               "CommLinks=tcpip(Host=$host);" . 
               "DatabaseName=$db_name;";
     
     
     
    $conn  = odbc_connect($dsn,$user,$PW); <= c'est ici que ce situe l'erreur mais meme apres des recherches je ne comprend touours pas, la syntaxe me parait bonne.
     
    echo  "conn:  $conn";
    if  ($conn  <=  0)  {
            echo  "Erreur";
            exit;
    } else  {
            echo  "<P>ok\n";
    }; 
    ?>
    En espérant que vous pourrez m'apporter des éclaircissements, je vous remercie.

  2. #2
    Membre confirmé Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Points : 578
    Points
    578
    Par défaut
    Bonjour,

    Vérifie que toutes ces variables soient bien initialisé :
    • $host
    • $db_name
    • $user
    • $PW


    Fait un echo de $dsn et vérifie qu'il n'y a pas d'erreur.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 22
    Points
    22
    Par défaut
    Merci d'avoir pris le temps de me lire et de tenter de m'aider, j'ai fait énormément de recherche sur le sujet mais sans grand succès pour le moment, voila mon nouveau 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
    35
     <html>
    <head>
           <title>TEST ODBC</title>
    </head>
    <body>
     <?php
    //connexion à une base de données hf
     
    //declarations variables
    $host = "localhost"; //serveur		   
    $bd="rfid"; // identifiant DSN
    $user="root"; // login
    $password=""; // password
     
    //lien dsn
    $dsn="DRIVER={HyperFileSQL}; . 
               Host=$host; . 
               DatabaseName=$bd";
    echo "$dsn";	  
    //connexion	  
    $cnx = odbc_connect($dsn,$user,$password);
     
    //test connexion
    if($cnx){ 
     
    echo "okkkkkkkkkkkk";
     
    }
    else{
    echo "Impossible de se connecter à  la base de données";
    }
     
    ?>
    </body>
    </html>
    j'y ai inserè l'affichage de "dsn" qui me retourne :

    DRIVER={HyperFileSQL}; . Host=localhost; . DatabaseName=rfid

    et toujours la meme erreur sur la chaine de connexion :

    Warning: odbc_connect() [function.odbc-connect]: SQL error: Impossible de se connecter : la chaîne de connexion est insuffisante, SQL state 01S00

    pour moi sa viendrait plutôt de la syntaxe de la fonction odbc_connect, non?..

  4. #4
    Membre confirmé Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Points : 578
    Points
    578
    Par défaut
    Citation Envoyé par dontpanik54
    j'y ai inserè l'affichage de "dsn" qui me retourne :

    DRIVER={HyperFileSQL}; . Host=localhost; . DatabaseName=rfid
    Il faut que tu retire les . de la chaîne de caractère :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $dsn="DRIVER={HyperFileSQL};Host=$host;DatabaseName=$bd";
    Par contre je n'ai jamais rencontré de type "HyperFileSQL".
    A tu une documentation qui t'as fournit la chaîne dsn à écrire ?

    Car d'après la documentation de odbc_connect() elle n'est pas identique pour chaque type de connexion. Tu n'as peut-être donc tout simplement pas la bonne ?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 22
    Points
    22
    Par défaut
    Salut,

    pour ce qui est du Driver HyperFileSQL, c'est celui qui c'est installé par défaut en lançant l'installation de l'ODBC sur mon poste et je n'ai pas de documentation spécifique à celui-ci.

    Pour la syntaxe de la fonction "odbc_connect" je me suis basé sur ce que j'ai trouvé en recherchant et je dois reconnaitre que de ce que j'ai pu voir les syntaxes ne sont pas toutes les mêmes.

    Je vais donc suivre ton idée et essayer de creuser de ce coté, est ce que tu sais ou est ce que je pourrais trouver ce genre de donnés? Je peux toujours contacter le programmateur de ma bdd hf, je pence que lui serait me renseigner.

    En tout cas je te remercie.

  6. #6
    Membre confirmé Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Points : 578
    Points
    578
    Par défaut
    En fessant une petite recherche google je suis tombé sur plusieurs liens intéressant :


    Et dans le second liens surtout cette partie :
    $dsn="DRIVER={HyperFileSQL};DSN=myHFSQL;ANA=chemin_analyse.wdd;REP=;Server Name=127.0.0.1;Server Port=4900;Database=myBase;UID=admin;PWDXX=;Encryption=";

    $connexion = odbc_connect($dsn,'','','SQL_CUR_USE_ODBC') or die( odbc_error() );

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 22
    Points
    22
    Par défaut
    Salut,

    Je te remercie pour tes recherches, je vais creuser ces pistes ..je posterais à la fin de ma journée en espérant que la connexion aboutisse enfin !!!

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 22
    Points
    22
    Par défaut
    CONNEXION OK !!!

    Je vais tenter d’être le plus claire possible au cas où d’autres personnes auraient ce genre de problèmes.

    Rappel du problème : connexion a une bdd hf via odbc (pour exploitation des donnés via interface php/web) impossible!!

    1 : installation sur votre poste du driver odbc (pour ma part fournit par le créateur de la bdd hf)

    2 : création dsn pour établir le lien vers la bdd hf, très bon tuto à consulter :

    http://www.prosygma.com/aide/Configu...erFile-137.htm

    3 : code (utilisation de wampserver):

    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
    <?php
    //connexion à une base de données hyperfile
     
    //declarations variables
    $host = 'localhost'; //serveur		   
    $password=''; // password
     
    //declaration lien dsn vers bdd hf
     
    //nom driver utilisé pour la creation dsn (point 2 ci dessus) 
    $dsn="DRIVER={HyperFileSQL};//dans mon cas HwperfileSQL
    
    //nom donné a votre liaison dsn pour la creation dsn (point 2 ci dessus)
    DSN=nomdsn;
    
    //chemin d'accés vers le fichier wdd contenant la strusture de votre base hf
    ANA=C:...... .wdd;
    
    //chemin d'accés vers le dossier de votre base hf contenant les dossiers .FIC
    REP=C:...nomdossier";
     
     
    //declaration de la fonction connexion
    $cnx = odbc_connect($dsn,$host,$password,SQL_CUR_USE_ODBC);
     
    //test connexion
    if(!$cnx) 	{
    			echo "Impossible d'établir une connexion";//si connexion impossible
    		} 
    else 			echo "Connection ok";//si connexion faite
    		}
    ?>
    J'ai testé le code en imbriquant des requêtes sql (via fonctions odbc_exec, odbc_fetch_row et odbc_result) est sa fonctionne parfaitement, en espérant que cela peut aider d'autres personnes.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 22
    Points
    22
    Par défaut
    Manque une accolade dans le code, rectification :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    else 		
    {
    echo "Connexion ok";//si connexion faite
    }


    J'en profite pour remercier HUMITAKE en me basant sur tes recherches j'ai pu résoudre mon problème, tu as était d'un grand secours

  10. #10
    Membre confirmé Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Points : 578
    Points
    578
    Par défaut
    Ravi d'avoir pu t'aider

  11. #11
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Points : 4
    Points
    4
    Par défaut
    Salut!
    Je suis pas sûr de comprendre comment ton code fonctionne, j'ai aussi une base de donné hyperfiles que je veux utilisé sur un site en php

    Je veux tester mes connexions directement sur mon localhost (WAMP) et je me demande s'il faut inclure ma bd quelque part sur mon localhost (comme une bd mysql quoi!!)

    Je regarde ton code et tes explication, tu as l'air à tout bien expliqué, certes, mais je comprends rien! Qu'est ce que je dois entré dans $host ? et dans $dsn?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 22
    Points
    22
    Par défaut
    Salut,

    la premiere chose à faire pour exploiter une base de type HyperFile (Hf), est de creer une source de données (Data Source Name) qui te permetra de faire le lien vers les données de ta base.

    Pour ce faire il te faut instaler un driver ODBC Hf, fourni avec ta base ou que tu dois surement pouvoir telecharger sur le net.

    Une fois instalé il te faudra configurer ta source de données via Outil d'administration > Source de données ODBC.
    Pour cette étape voici un lien qui te sera utile :

    http://www.prosygma.com/aide/Configu...erFile-137.htm

    sans source de données il te sera impossible de te connecter à ta base Hf !!

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

Discussions similaires

  1. Pblm Connexion DNS
    Par marccollin dans le forum Équipements
    Réponses: 9
    Dernier message: 29/06/2012, 16h56
  2. Connexion firebird odbc
    Par Sarra Win dans le forum Access
    Réponses: 1
    Dernier message: 24/01/2007, 15h21
  3. Connexion par odbc
    Par tonito53 dans le forum Struts 1
    Réponses: 1
    Dernier message: 27/12/2006, 14h48
  4. Base de donnees : connexion sans ODBC
    Par Lnx2050 dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 18/07/2006, 18h41
  5. Connexion réseau ODBC/MySQL
    Par doum2 dans le forum Installation
    Réponses: 10
    Dernier message: 12/04/2006, 15h57

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