Dbexpress - mysql 5.1 - delphi 7 entr

Résolu
jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 - 5 mars 2012 à 10:58
imaddo Messages postés 1 Date d'inscription mardi 20 juillet 2010 Statut Membre Dernière intervention 11 mars 2012 - 11 mars 2012 à 09:55
Bonjour,

J'ai configuré une connection TSQLconnection avec ces paramètres :

Connected -> True
GetDriverFunc -> getSQLDriverMYSQL50
LibraryName -> dbxopenmysql50.dll
VendorLib -> libmysql.dll
Name -> Connection

En conception lorsque je test la connextion, j'obtiens bien le message Successfully Connected. Ma version de Mysql est la 5.1.35

J'ajoute un SQLDataSet avec ces paramètres :

CommandText -> valref (nom d'une table)
CommandType -> ctTable
SQLConnection -> Connection

Si je mets Active à true, j'obtiens le message d'erreur suivant :
"Access violation at address 052D44EF in module "dbxopenmysql50.dll".Read of address 000000FD"

Je ne maitrise pas dbexpress et ceci est ma première tentative d'utilisation. Cette erreur est peut-être à une mauvaise config des deux composants ou que la DLL dbxopenmysql50.dll n'est pas totalement opérationnelle avec une version 5.1 de mysql. Si certain d'entre vous utilise le même type d'environnement que le mien, je suis preneur d'un coup de main. D'avance merci.

Jean

10 réponses

jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 1
8 mars 2012 à 11:56
Bonjour,

J'ai finalement trouvé.

Le driver Dbexpress en open est bon :
http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html

Par contre, j'avais visiblement un souci avec libmysql.dll, j'ai retélécharger la version 5.0.95 et là plus de souci.

A+
Jean
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
5 mars 2012 à 15:23
Bonjour,

du grain à moudre :

dbExpress


cantador
0
jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 1
5 mars 2012 à 15:45
Bonjour Cantador,

Le programme de démo que tu as mis en lien, permet de se connecter à une base par ODBC. Ce n'est pas ce que je veux faire, à moins que je n'ai rien compris et que SQLconnexion nécessite un DSN !!

J'utilise SQLview aussi dévellopé en delphi avec des connexion ODBC et il fonctionne effectivement sur les tables de mon serveur mysql. ODBCexplor.exe fonctionne correctement aussi.

Si tu peux m'en dire un peu plus sur le sens de ton message, ou sur l'orientation que je dois prendre, ça m'échappe un peu. Merci encore.

Jean
0
jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 1
6 mars 2012 à 14:00
Bonjour,

J'ai avancé un peu. J'en suis là :

TSQLconnexion -> TSQLQuery -> TDataSetProvider -> TClientDataSet -> TDataSource -> TDBGrid

J'ai placé un DBGrid sur la form et ce code dans l'évenement OnCreate de celle-ci :

SqlQuery1.SQL.Clear;
SqlQuery1.SQL.Add('select nom from adresse where cp= ''26 750''');
SqlQuery1.Open;
ClientDataSet1.Active := true;

A l'execution, j'obtiens une liste de nom dans la grille.
J'ai donc modifier la requete pour avoir 2 champs, comme ceci :

SqlQuery1.SQL.Add('select nom, prenom from adresse where cp =''26 750''');
et là j'ai cette erreur EDataBaseError "SQLQuery1 :Field name missing"

J'ai cherché sur le net, mais je trouve pas grand chose sur cette erreur. J'ai vu que dans le ClientDataSet il y a FieldDefs, c'est ici qu'il faut les définir ??

Jean
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
6 mars 2012 à 22:13
Bonsoir,

euh non désolé, c'est pas du tout ce que je voulais te donner..
odbc et dsn , c'est la solution de rechange lorqu'on n'a plus rien...

Je pensais avoir trouvé un lien sur des dll récentes..

et du reste, le mieux serait de trouver des composants
dataware permettant d'établir une connexion directe sans couche supplémentaire.
dbexpress étant utilisé lorsque ces derniers sont inexistants et par ailleurs MySQl a beaucoup évolué mais pas dbexpress..
Voici un lien qui montre que ceux-ci existent :
MySQL
Je vais vraisemblablement devoir utiliser MySQL en Web Serveur parce que les outils (wamp, easyphp etc..) sont bien
faits et fiables et du php.
Mais en client serveur, je préfère Firebird avec des composants directs.
ça évite de se prendre la tête avec la version machin qui va avec le module truc etc..


cantador
0
amir73 Messages postés 3 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 12 mars 2012
6 mars 2012 à 22:30
salut j'ai pas trouver plusieurs composant en Delphi7 pendant le telechargement et le module base de donnée svp aid moi pour creér une table[^ ^ Malade2]
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
7 mars 2012 à 18:13
Salut,

j' utilise moi-même mysql 5.5 avec les compos DBExpress depuis un moment sans aucun problème.
Faudrait passer à un Delphi plus récent car ton problème pourrait venir de lá.

A+


@Amir73: http://dev.mysql.com/doc/refman/5.5/en/index.html


Composants Cindy pour Delphi
Faites une donation.
0
jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 1
7 mars 2012 à 22:26
Bonsoir,

Merci pour vos réponses.
Vu mon message du 6 mars 2012 à 14:00:10, j'avais écarté le problème de la dll et j'étais convaincu d'un problème de config des différents composants !
J'arrive bien à lire 1 champs d'une table que ce soit dans un DBgrid ou dblookupcombobox, mais pas 2! Vous pensez réellement que c'est la dll qui est en cause ??

Bonne soirée.
Jean
0
jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 1
7 mars 2012 à 22:33
Re,

Pour Cantador, c'est effectivement pour la souplesse de travailler avec hmtl + php + mysql que je m'obstine. Avoir une base mysql attaquée par un client lourd en entreprise (delphi - appli avec toutes les fonctionnalités) et un client léger à l'extérieur (web - minimun de fonctionnalité).

Z'ou, au lit !
Jean
0
imaddo Messages postés 1 Date d'inscription mardi 20 juillet 2010 Statut Membre Dernière intervention 11 mars 2012
11 mars 2012 à 09:55
Bonjour utiliser nouveau dbexpress driver de DEVART qui est gratuit
ET eu lieu de choisir le driver "OpenMySQL50"
choisir le driver "devart MySQL "

http://www.devart.com/dbx/mysql/download.html
j'espère que sa marchera aussi pour Toi

Bonne journée
0
Rejoignez-nous