|
FOROS PROFESIONALES WINDEV, WEBDEV y WINDEV Mobile |
| | | | | |
| ODBC_Connect PHP Hyperfile SQL Client Serveur |
| Iniciado por Ger3m_99, 11,jun. 2014 14:11 - 4 respuestas |
| |
| | | |
|
| |
| Publicado el 11,junio 2014 - 14:11 |
Bonjour à tous,
on essaie d'accéder à une base de donnée en client/serveur sur l'hyperfile via une page en PHP.
On a configuré ODBC. Mais on sèche au niveau de la syntaxe du ODBC_Connect. Après avoir parcouru le net et tenter pas mal de codes différents selon les tutos. Notre connexion ne s'effectue pas. Voici le code erreur :
Warning: odbc_connect() [function.odbc-connect]: SQL error: Impossible de se connecter : la chaîne de connexion est insuffisante, SQL state 01S00 in SQLConnect in C:\xampp\htdocs\orcq\index.php on line 45 01S00
Ci dessous voici notre code :
$host="localhost"; $db="BasedeDonnée"; $srv="localhost"; // On a tenté LocalHost ; Le nom du serveur; L'ip du Serveur. Toujours la même erreur. $dsn="DRIVER={Hyper File 7};SERVER=$srv;"; $user="NomUser"; $pass="MDP"; $connexion = odbc_connect($dsn,$user,$pass,SQL_CUR_USE_ODBC) or die( odbc_error() ); //$connexion=odbc_connect($dsn,$user,$pass) or die("echec connexion");
$requete="SELECT * FROM Config"; $resultat = odbc_exec($connexion,$requete);
//affichage du résultat : odbc_result_all($resultat);
Je n'ai pas utilisé les balises des codes car aucun ne correspondait au PHP.
Si quelqu'un a une info à nous faire parvenir. Elle est la bienvenue.. On a été chercher le fichier .WDD dans le dossier du projet. On a essayé avec également le fichier .wdd se trouvant dans le dossier de la dernière génération de l'analyse. Car dans les premières recherche effectuées le code erreur recense que la base de données n'était pas à jour. Mais rien n'a changé.
Nous sommes à votre disposition si vous avez d'autres informations.
Merci d'avance. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 10 mensajes |
|
| Publicado el 11,junio 2014 - 18:22 |
Bonjour,
Il faut bien declarer la source de donnée dans le gestionnaire odbc, et ensuite rien de compliqué. je vous colle le code ci-dessous qui nous permet de lire dans une base hyperfile C/S :
if(!$this->cnx) $this->cnx = odbc_pconnect($this->bd, "admin", ""); // $this->bd = nom de source de donnée - admin=user de la base - "" = mot de passe $sth = "SELECT " . " idsoc, codemachine, dateexport, datetraitement, maintenance, version " . "FROM " . " synchro " . "WHERE " . " 1 = 1 "; $stmt = odbc_exec($this->cnx, $sth); $row = array(); while (odbc_fetch_into($stmt,$row)) { $this->fic[] = $row; } odbc_free_result($stmt); odbc_close($this->cnx); |
| |
| |
| | | |
|
| | |
| |
| Publicado el 04,abril 2017 - 19:13 |
j arrive a me connecter a une source de donnees HF via ODBC ;le probleme se reside au niveau de la requete que ne s'execute pas ca prend enormement du temps cela semble comme etant une boucle infinie est ce que ca a un rapport avec la taille du fichier FIC que je viens de manipuler???? Mercii de me repondre c est treeeeees Urgent |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 22 mensajes |
|
| Publicado el 14,septiembre 2020 - 18:30 |
| Oui, je confirme bien le sénario. Moi aussi j'arrive à me connecter mais ça bloque au niveau de odbc_exe() |
| |
| |
| | | |
|
| | |
| |
| Publicado el 04,octubre 2020 - 13:49 |
<html> <head> <meta http-equiv="Content-Language" content="ar-tn"> <!-- <meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> --> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- <meta charset="UTF-8"> --> </head> <?php
//header('Content-Type: charset=utf-8'); // Pour affiche le conetu en mode JSON
//'meta http-equiv="Content-Type" content="text/html; charset=utf-8"'
// Repertoire de ficher analyse (x:\repertoire\yyyy.wdd) $Analyse_directory = "";
// Repertoire des fichers base de données $Base_directory = dirname(__FILE__);
// Nom de base de données pour HFSQL Client/Server $Base_name = "";
// USER HFSQL server $USER_HFSQL = "";
// Password HFSQL server $PWD_HFSQL = "";
// Nom de base de données pour Classic $Base_file_name = "fav";
// Mots de passe pour base de données $Base_pwd = "";
// Paramètre pour HFSQL Classic database $Params_Classic = "\"Password=*:$Base_pwd;\"";
// Paramètre pour HFSQL Client/Server database $Params_CS = "\"Password=$Base_file_name:$Base_pwd;\"";
// Requete SQL //$SQL_Request = "insert into fav (id_posts,title,desc) values ('44','aaaa','bbbb')";//"SELECT * FROM fav"; //$SQL_Request = "update fav set title='xxx' where IDfav=7"; $SQL_Request = "SELECT * FROM fav"; // Type de connection ( HFSQL_Cl : HFSQL Classic ) ou ( HFSQL_CS : HFSQL Client/Server ) $Type_Connection = "HFSQL_Cl";
try{
// Code de connection $conn = new COM("ADODB.Connection") or die("Cannot start OLEDB"); switch ($Type_Connection) { case "HFSQL_CS": $conn->Open("provider=PCSoft.HFSQL;initial catalog=$Base_name;data source=127.0.0.1:4900;User ID=$USER_HFSQL;Password=$PWD_HFSQL;Extended Properties=$Params_CS;"); break; case "HFSQL_Cl": $conn->Open("Provider=PCSOFT.HFSQL;Data Source=$Analyse_directory;Initial Catalog=$Base_directory;Password=;Extended Properties=$Params_Classic;"); break; default: die("Unknow Type of Connection."); } $rs = $conn->Execute("$SQL_Request"); /////////////////////
// calculer nombre des colonnes $num_columns = $rs->Fields->Count(); for ($i=0; $i < $num_columns; $i++) {
// ignore error si detect try{ //echo $rs->Fields($i)->name . " : \t" . gettype($rs->Fields($i)->value); //echo "<br>"; // echo "<br>" ; $fld[$i] = $rs->Fields($i); //echo $rs->Fields($i)->name . "\t"; // Afficher le nom de colonnes } catch(com_exception $e){
} }
echo "<br>" ;
// Afficher les valeurs des lignes $tab = array(); $rowcount = 0; while (!$rs->EOF) { // ignore error si detect for ($i=0; $i < $num_columns; $i++) { try{ $if_error = gettype($rs->Fields($i)->value); echo utf8_encode($fld[$i]->value) . "\t"; echo $fld[$i]->value . "\t"; $tab[] = explode("\t",utf8_encode($fld[$i]->value)); // Converter vers tableau } catch(com_exception $e){
} }
echo "<br>" ;
$rowcount++; $rs->MoveNext(); }
//echo $tab[2]; // echo "<br>" ; echo json_encode($tab); // Converter vers Json
} catch(com_exception $e){ die(utf8_encode($e->getMessage())); }
$rs->Close(); $conn->Close();
?> </html> |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|