Dbexpress - mysql 5.1 - delphi 7 entr [Résolu]

jderf 192 Messages postés mercredi 29 décembre 2004Date d'inscription 2 octobre 2014 Dernière intervention - 5 mars 2012 à 10:58 - Dernière réponse : imaddo 1 Messages postés mardi 20 juillet 2010Date d'inscription 11 mars 2012 Dernière intervention
- 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
Afficher la suite 

10 réponses

Répondre au sujet
jderf 192 Messages postés mercredi 29 décembre 2004Date d'inscription 2 octobre 2014 Dernière intervention - 8 mars 2012 à 11:56
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jderf
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 5 mars 2012 à 15:23
0
Utile
Bonjour,

du grain à moudre :

dbExpress


cantador
Commenter la réponse de cs_cantador
jderf 192 Messages postés mercredi 29 décembre 2004Date d'inscription 2 octobre 2014 Dernière intervention - 5 mars 2012 à 15:45
0
Utile
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
Commenter la réponse de jderf
jderf 192 Messages postés mercredi 29 décembre 2004Date d'inscription 2 octobre 2014 Dernière intervention - 6 mars 2012 à 14:00
0
Utile
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
Commenter la réponse de jderf
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 6 mars 2012 à 22:13
0
Utile
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
Commenter la réponse de cs_cantador
amir73 3 Messages postés samedi 25 février 2012Date d'inscription 12 mars 2012 Dernière intervention - 6 mars 2012 à 22:30
0
Utile
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]
Commenter la réponse de amir73
cs_MAURICIO 2233 Messages postés mardi 10 décembre 2002Date d'inscription 15 décembre 2014 Dernière intervention - 7 mars 2012 à 18:13
0
Utile
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.
Commenter la réponse de cs_MAURICIO
jderf 192 Messages postés mercredi 29 décembre 2004Date d'inscription 2 octobre 2014 Dernière intervention - 7 mars 2012 à 22:26
0
Utile
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
Commenter la réponse de jderf
jderf 192 Messages postés mercredi 29 décembre 2004Date d'inscription 2 octobre 2014 Dernière intervention - 7 mars 2012 à 22:33
0
Utile
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
Commenter la réponse de jderf
imaddo 1 Messages postés mardi 20 juillet 2010Date d'inscription 11 mars 2012 Dernière intervention - 11 mars 2012 à 09:55
0
Utile
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
Commenter la réponse de imaddo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.