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:
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.WDDCode:
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());
La chaine de connexion semble fonctionner, mais l'exécution de la requête pose problème :
Avis aux amateurs... et merci pour votre aide.Citation:
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