Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 12 sur 12
  1. #1
    Invité de passage
    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 : 3
    Points
    3

    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 :
    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 expérimenté Avatar de humitake
    Homme Profil pro Olivier
    Étudiant
    Inscrit en
    novembre 2010
    Messages
    397
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 23
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2010
    Messages : 397
    Points : 527
    Points
    527

    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
    Invité de passage
    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 : 3
    Points
    3

    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 :
    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 expérimenté Avatar de humitake
    Homme Profil pro Olivier
    Étudiant
    Inscrit en
    novembre 2010
    Messages
    397
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 23
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2010
    Messages : 397
    Points : 527
    Points
    527

    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 :
    $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
    Invité de passage
    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 : 3
    Points
    3

    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 expérimenté Avatar de humitake
    Homme Profil pro Olivier
    Étudiant
    Inscrit en
    novembre 2010
    Messages
    397
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 23
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2010
    Messages : 397
    Points : 527
    Points
    527

    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
    Invité de passage
    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 : 3
    Points
    3

    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
    Invité de passage
    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 : 3
    Points
    3

    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 :
    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
    Invité de passage
    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 : 3
    Points
    3

    Par défaut

    Manque une accolade dans le code, rectification :


    Code :
    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 expérimenté Avatar de humitake
    Homme Profil pro Olivier
    Étudiant
    Inscrit en
    novembre 2010
    Messages
    397
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 23
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2010
    Messages : 397
    Points : 527
    Points
    527

    Par défaut

    Ravi d'avoir pu t'aider

  11. #11
    Invité de passage
    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 : 1
    Points
    1

    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
    Invité de passage
    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 : 3
    Points
    3

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •