Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Discussion: PHP et HyperFile SQL

  1. #1
    Invité de passage
    Homme Profil pro
    Inscrit en
    septembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut PHP et HyperFile SQL

    Bonjour à tous !

    Je souhaite développer une application PHP qui doit lire dans une base de données HyperFile SQL. Je n'ai pas la main sur cette base de données ni sur l'application WinDev qui la nourrit. J'ai retrouvé les fichier .FIC et .NDX, mais pas .WDD

    J'ai écumé les forum depuis quelques semaines, et voilà ce que j'ai fait :

    1- Installation manuelle du pilote ODBC dans la base de registres
    2- Création du fichier .WDD grâce à WinDev Express
    3- Création d'une source de données ODBC via l'utilitaire Windows
    4- Connexion via PHP dont voici le code, tiré de ce même forum:
    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
     
    //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={Hyper File 7};";
     
    //nom donné a votre liaison dsn pour la creation dsn (point 2 ci dessus)
    $dsn .= "DSN=HyperFile;";
    //chemin d'accés vers le fichier wdd contenant la strusture de votre base hf
    $dsn .= "ANA=D:\\www\\DBETIQUETTES.WDD;";
    //chemin d'accés vers le dossier de votre base hf contenant les dossiers .FIC
    $dsn .= "REP=D:\\www\\";
     
    //declaration de la fonction connexion
    $connexion = odbc_connect($dsn, $host, $password, SQL_CUR_USE_ODBC)
                    or die (odbc_errormsg());
     
    $req = "SELECT * FROM DBETIQUETTES";
     
    $res = odbc_exec($connexion, $req) or die (odbc_errormsg());
    Pour me simplifier l'existence, tant que je teste, tout se trouve dans le même répertoire D:\www\ : index.php dans lequel se trouve mon PHP, DBETIQUETTES.FIC, DBETIQUETTES.NDX, DBETIQUETTES.WDD

    La chaine de connexion semble fonctionner, mais l'exécution de la requête pose problème :

    Warning: odbc_exec() [function.odbc-exec]: SQL error: Erreur dans le code SQL de la requête <Requete_HyperFile>. Initialisation de la requête impossible. Fichier DBETIQUETTES inconnu - Infos de debug : IEWD140SQL=1012 Module=<WD140SQL> Version=<14.00Ed> , SQL state 01000 in SQLExecDirect in D:\www\index.php on line 24
    Avis aux amateurs... et merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    1 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : janvier 2006
    Messages : 1 634
    Points : 2 000
    Points
    2 000

    Par défaut

    ce que tu cherches a faire est possible, je l'ai fait sur du windev14. La seule chose dont je me souviens c'est qu'il y a des syntaxes SQL merdiques.

    je regarde si je retrouve une copie des codes que j'utilisais à l'époque.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.
    Soyez moderne: mysqli_connect() or throw Exception(mysqli_connect_error());

    PHP: un problème ? décrivez le avec ceci.

    Utilisez le bouton résolu!

  3. #3
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    1 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : janvier 2006
    Messages : 1 634
    Points : 2 000
    Points
    2 000

    Par défaut

    j'utilisais une source odbc déclarée dans windows (au niveau systeme) et je me connectais dessus comme on le fait avec une source ODBC "régulière"

    Code :
    oci_new_connect($this->user, $pass, '//'.$this->host.'/'.$this->base;);
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.
    Soyez moderne: mysqli_connect() or throw Exception(mysqli_connect_error());

    PHP: un problème ? décrivez le avec ceci.

    Utilisez le bouton résolu!

  4. #4
    Invité de passage
    Homme Profil pro
    Inscrit en
    septembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut

    Je creuse dans ce sens, merci.

    Selon toi cela provient d'un problème à la connexion ?

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
  •