Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PHP & ODBC
PHP & ODBC Forum d'entraide sur ODBC avec PHP. Avant de poster -> FAQ ODBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/09/2012, 09h14   #1
Jbcarré
Invité de passage
 
Homme
Inscription : 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 :

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
Avis aux amateurs... et merci pour votre aide.
Jbcarré est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2012, 09h18   #2
gene69
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 1 626
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 626
Points : 1 992
Points : 1 992
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!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2012, 09h28   #3
gene69
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 1 626
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 626
Points : 1 992
Points : 1 992
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!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2012, 16h49   #4
Jbcarré
Invité de passage
 
Homme
Inscription : septembre 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2012
Messages : 2
Points : 0
Points : 0
Je creuse dans ce sens, merci.

Selon toi cela provient d'un problème à la connexion ?
Jbcarré est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h37.


 
 
 
 
Partenaires

Hébergement Web