|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2004 Messages : 40 ![]() |
Bonjour,
j'essaye de me mettre à FireBird via PHP en utilisant AdoDb. Mais lorsque je me connecte à la base exemple de firedird j'ai l'erreur suivante: Dynamic SQL Error SQL error code = -804 Data type unknown Client SQL dialect 1 does not support reference to BIGINT datatype Fatal error: Call to a member function on a non-object in C:\apache\htdocs\test_adodb\getdata.php on line 30 Ce qui m'amène à me poser qq question what is le "dialect" dans firebird? Et une autre: What is le "domain" dans firebird? Ci dessous mon code d'interogation (from le tutoriel trouvé sur le site) Comprends pas pourquoi ca ne marche pas.... j'ai installé IBwebadmin et l'accès à la base se passe tres bien! Merci pour votre aide, et Bonne année 2005. Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Invité de passage
![]() |
J'ai trouvé ce lien en cherchant un peu sur google car je ne connaissait pas AdoDB :
http://phplens.com/lens/adodb/docs-adodb.htm J'ai l'impression que tu devrais plutot mettre : Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Le dialect 1 est le langage utilisé pour interbase < 6 et donc toutes les nouvelles bases de données doivent utiliser le dialect 3 pour pouvoir bénéficier des nouvelles fonctionnalitées (nouveaux type de données).
Donc pour se connecter à employee.fdb il faut spécifier qu'on se connecter en utilisant le dialect 3. BIGINT étant un type n'existant pas dans le dialect1. |
|
|
00
|
|
|
#4 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2004 Messages : 40 ![]() |
Alors là je comprends plus rien j'ai fait une toute petite modif qui relève du hasard.... vous l'avez vue??
Code :
il y a un ? dans Code :
$conn->PConnect('127.0.0.1:C:\Firebird\examples\employee.fdb?','SYSDBA','masterkey',""); J'ai bien cherché à ajouter comme dans le fichier d'aide d'adodb, mais cela n'a rien changé, et c'est par hasard que le ? est resté et cela fonctionne... Sinon pour le domain, de quoi s'agit il sous firebird? |
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Essayez ca :
[quote="jflebegue"] Code :
$conn->PConnect('127.0.0.1:C:\Firebird\examples\employee.fdb?dialect=3','SYSDBA','masterkey',""); Par exemple si vous avez dans plusieurs tables une colonne signifiant la même chose exemple un prenom au lieu de définir vos deux colonnes avec un varchar(30) Vous définissez un domaine s'appelant PRENOM de type VARCHAR(30) et vous utilisez ce domaine dans la définition de vos colonnes PRENOM. Un changement du domaine en varchar(40) changera toutes les colonnes utilisant ce domaine. Vous pouvez créer des domaines avec des contraintes (des tests). etc. Consultez la doc pour en savoir plus vous verez c'est très utile. |
|
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2004 Messages : 40 ![]() |
Bonjour,
J'ai bien essayé de mettre ceci: mais cela donnait toujours des erreurs en l'occurence celle ci: Code :
Je vais me diriger vers le code PHP du fichier adodb-ibase.inc.php on line 69 pour voir ce qui s'y passe.... SI je découvre qq chose je vous tiens au courant dans ce post. Merci, JF |
||
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Ah apparemment avec PConnect on peux pas mettre de parametres de cette façon.
Par contre il y a une autre methode de connexion : Cf l'exemple dans le lien donné par MPB Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2004 Messages : 40 ![]() |
Merci,
Voici ce que j'ai finalement utilisé: Code :
Le mystère du ? persiste.... |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com