IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[1.6] Composants SQLdb incompatibles avec MySql 5.7


Sujet :

Lazarus Pascal

  1. #1
    Membre chevronné

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    Points : 2 053
    Points
    2 053
    Par défaut [1.6] Composants SQLdb incompatibles avec MySql 5.7
    Bonjour,

    Je viens d'upgrader ma linux mint 17 en 18 et la version de MySql est la 5.7.
    J'utilise le composant sqldblaz.lpk et les TMySqlConnection s'arrêtent à la "5.6". Plus rien ne fonctionne.

    Si quelqu'un a une idée en dehors de faire un downgrade de mysql ( J'ai essayé et j'ai tout cassé, la 5.5 semble ne plus fonctionner avec lm 18 ) ?

  2. #2
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour

    Plus rien ne fonctionne
    Ça ce n'est pas très précis et ne nous aide pas à t'aider...

    Je connais trois problèmes distincts :

    1) Il n'y a effectivement pas de composant TMySql57 dans Lazarus 1.6.

    Le paquet SqlDbLaz (ce n'est pas un composant) est trop lié à chaque version de MySql et les versions stables de Lazarus ne suivent pas assez vite.
    Pour moi c'est inacceptable et j'utilise, notamment pour cette raison, ZeosLib qui fonctionne très bien avec toutes les versions de MySql, dont la 5.7.
    Sauf pour des applications serveur GUI où seul SqlDb est utilisable, mais heureusement les versions des serveurs évoluent généralement moins vite.
    Évidemment ça fait un peu de reprise de sources, mais sur le long terme tu seras gagnant avec ZeosLib.

    Tu pourrais aussi éventuellement essayer de voir s'il n'existe pas un TMySql57 dans le trunk de Lazarus et essayer de l'installer sur ton Lazarus 1.6
    C'est vraiment du bricolage et sans garantie, mais son résultat m'intéresserait.

    2) Est-ce que ce n'est pas un pilote manquant ?

    Dans la dernière LTS d'Ubuntu 16.04, le paquet générique MySqlClient ne référence pas le pilote pour MySql 5.7 nécessaire à Lazarus et à bien d'autres (il s'appelle libmysql20)
    Donc ce dernier ne s'installe pas automatiquement, il faut le faire manuellement, ce n'est pas trop difficile.
    Il parait que ça été corrigé, mais peut-être que la même erreur a été faite dans ton Linux Mint, qui s'inspire d'Ubuntu.

    3) ZeosLib 7.1.4 (stable) ne va pas chercher automatiquement libmysql20

    On peut toujours l'indiquer "en dur" dans la propriété LibraryLocation du composant TZSqlConnection, mais ce n'est pas très souple.
    J'ai fait un patch provisoire pour qu'il trouve automatiquement ce fichier s'il existe. On le trouve dans la doc pour développer Gestinux.
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  3. #3
    Membre chevronné

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    Points : 2 053
    Points
    2 053
    Par défaut
    Citation Envoyé par tintinux Voir le message
    Ça ce n'est pas très précis et ne nous aide pas à t'aider...
    C'est mon programme qui utilise SQL qui ne fonctionne plus.

    Évidemment ça fait un peu de reprise de sources, mais sur le long terme tu seras gagnant avec ZeosLib.
    J'y avais parfois pensé mais crains que ça ne fasse plus qu'un peu, J'ai qq. miliers de lignes de code dans 21 fiches et 17 unités.
    Mon programme est une gestion de BDD qui utilise essentiellement le format DBF qui a le mérite de fonctionner n'importe ou sur une machine sans serveur local mais il vient un moment ou il faut bien convertir et transférer sur un serveur distant et là c'est cuit pour l'instant.

    Tu pourrais aussi éventuellement essayer de voir s'il n'existe pas un TMySql57 dans le trunk de Lazarus et essayer de l'installer sur ton Lazarus 1.6
    C'est vraiment du bricolage et sans garantie, mais son résultat m'intéresserait.
    Je vais regarder ça, également essayer de réinstaller la version svn complète. Je l'avais utilisé assez longtemps mais dans les mises à jour d'il y-a qq. mois l'éditeur étatit planté ( Tout les caractères entrés au clavier étaient doublés dans l'éditeur. )

    Dans la dernière LTS d'Ubuntu 16.04, le paquet générique MySqlClient ne référence pas le pilote pour MySql 5.7 nécessaire à Lazarus et à bien d'autres (il s'appelle libmysql20)
    Donc ce dernier ne s'installe pas automatiquement, il faut le faire manuellement, ce n'est pas trop difficile.
    Il parait que ça été corrigé, mais peut-être que la même erreur a été faite dans ton Linux Mint, qui s'inspire d'Ubuntu.
    Exact, n'est pas non plus installé par défaut avec la LM 18 et en plus il se niche dans un répertoire à part:
    /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20
    Il faut en plus faire in lien symbolique /usr/lib/libmysqlclient.so vers ce fichier pour que lazarus le trouve.

    3) ZeosLib 7.1.4 (stable) ne va pas chercher automatiquement libmysql20

    On peut toujours l'indiquer "en dur" dans la propriété LibraryLocation du composant TZSqlConnection, mais ce n'est pas très souple.
    J'ai fait un patch provisoire pour qu'il trouve automatiquement ce fichier s'il existe. On le trouve dans la doc pour développer Gestinux.
    Le lien symbolique indiqué au-dessus ne fonctionne pas avec ZeosLib ?
    Je vais voir tout ça et je reviens dans qq. temps.

  4. #4
    Membre chevronné

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    Points : 2 053
    Points
    2 053
    Par défaut
    Je viens de recharger le svn du jour de lazarus et il n'y a pas trace de TMySql57

    Ici non plus:
    https://github.com/graemeg/lazarus/t...mponents/sqldb
    Et la fréquence des mises à jour me laisse craindre le pire...

  5. #5
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Citation Envoyé par mm_71 Voir le message
    Le lien symbolique indiqué au-dessus ne fonctionne pas avec ZeosLib ?
    Si, avec un lien symbolique ça fonctionne, mais il est difficile de créer le bon lien automatiquement avec l'installateur sur toutes les cibles possibles, et beaucoup d'utilisateurs n'arrivent pas à créer des liens manuellement sans se tromper... D'où ma modification qui rend les choses automatiques, du moins jusqu'à MySql 5.7.

    Si tu ne peux pas ou ne veux pas migrer vers Zeos, il ne reste plus qu'à te plonger dans le code de TMySql56 et de voir ce qu'il faut faire pour le transformer en 57... Ça ne devrait pas être impossible, et ça intéressera la communauté !



    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  6. #6
    Membre chevronné

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    Points : 2 053
    Points
    2 053
    Par défaut
    Si tu ne peux pas ou ne veux pas migrer vers Zeos, il ne reste plus qu'à te plonger dans le code de TMySql56 et de voir ce qu'il faut faire pour le transformer en 57... Ça ne devrait pas être impossible, et ça intéressera la communauté !
    Malheureusement c'est très au dessus de mes compétences, je ne suis qu'un amateur occasionnel en la matière. Je viens d'installer ZeosLib, je vais voir ce que ça donne et en attendant installer une LM 17 dsur un DD externe pour faire tourner mon programme.

    J'ai aussi téléchargé ton patch ai-je raison de supposer qu'il doit remplacer ZPlainMySqlDriver.pas ?

  7. #7
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Citation Envoyé par mm_71 Voir le message
    J'ai aussi téléchargé ton patch ai-je raison de supposer qu'il doit remplacer ZPlainMySqlDriver.pas ?
    Tout à fait !
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  8. #8
    Membre chevronné

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    Points : 2 053
    Points
    2 053
    Par défaut
    Citation Envoyé par tintinux Voir le message
    Tout à fait !
    Bon, tout a fonctionné sans problème avec ton patch, en conservant les noms que j'avais donné aux composants SQLDb pour les attribuer au connect et query de zeos ça limite le travail de réfection.
    La solution certes radicale consiste à faire ses adieux au paquet SQLDb.

  9. #9
    Membre habitué
    Homme Profil pro
    conseil et développeur en informatique industrielle
    Inscrit en
    Janvier 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : conseil et développeur en informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 220
    Points : 165
    Points
    165
    Par défaut meme probleme Mysql 5.7
    Bonjour a tous
    Mais moi, je suis sous Windows..
    Apres install lazarus 1.8.0 .. le composant MySql57connection apparait.
    mais erreur : MySql57connection can not work with the installed mysql client version: Expected (5.7), got(5.6.15).

    Que faire pour éliminer ce problème ??

    merci d'avance de votre aide

  10. #10
    Membre chevronné

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    Points : 2 053
    Points
    2 053

  11. #11
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Citation Envoyé par aladin95
    Que faire pour éliminer ce problème ??
    Effectivement, mettre à jour le serveur MySql en 5.7 est une bonne solution.
    Ou, sinon, tu peux utiliser la connexion TMySql56Connexion qui reste, heureusement, disponible dans Lazarus 1.8.

    Ces deux solutions ne fonctionnant que si tu as un seul serveur et que tous les clients peuvent être mis à niveau.

    Et sinon, passer à ZeosLib, dont la version 7.2.2 (malheureusement pas encore qualifiée de Stable), sélectionne désormais automatiquement le bon pilote MySql, s'il est présent, dans le même esprit que le patch que j'avais utilisé et proposé en attendant.
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  12. #12
    Membre habitué
    Homme Profil pro
    conseil et développeur en informatique industrielle
    Inscrit en
    Janvier 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : conseil et développeur en informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 220
    Points : 165
    Points
    165
    Par défaut
    Je m'adresse a une base sous MySql 5.7
    MySQL 5.7.11-log via TCP/IP

    Sauf erreur le composant 'client' lazarus est noté TMysql57Connection
    que faut-il mettre a jour ??

  13. #13
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour

    Avec Lazarus 1.8.x il y a un composant client TMysql57Connection, donc tu devrais pouvoir l'utiliser directement pour te connecter à une base MySql 5.7, sans mise à jour complémentaire.

    Il faut bien entendu un pilote, mais cela dépend de ton système d'exploitation, que tu n'indiques pas.

    Si tu as d'autres questions, il faut mieux ouvrir un nouveau sujet...
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  14. #14
    Membre habitué
    Homme Profil pro
    conseil et développeur en informatique industrielle
    Inscrit en
    Janvier 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : conseil et développeur en informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 220
    Points : 165
    Points
    165
    Par défaut
    je suis généralement sous Windows
    le serveur qui pose problème (Mysql 5.7) est sous Windows 8 pro
    pour l'instant j'utilise Lazarus sous Windows 10 ou XP, je n'ai pas encore essayé sous ubuntu

    Comme je l'ai indiqué c'est bien le composant 5.7 Lazarus que j'utilise

  15. #15
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Mais quel est exactement le problème ?
    Et, stp, ouvre un nouveau sujet.
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  16. #16
    Membre habitué
    Homme Profil pro
    conseil et développeur en informatique industrielle
    Inscrit en
    Janvier 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : conseil et développeur en informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 220
    Points : 165
    Points
    165
    Par défaut
    je viens d'ouvrir une nouvelle discussion sous le même [Lazarus]

    crdlt

Discussions similaires

  1. [Lazarus] Problème composant Zeoslib avec Mysql
    Par Krys006 dans le forum Lazarus
    Réponses: 4
    Dernier message: 30/03/2009, 23h34
  2. INNER JOIN incompatible avec Mysql 5
    Par jpeg1st dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/02/2007, 12h21
  3. Help ODBC avec Mysql
    Par Ashura75013 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/02/2004, 08h11
  4. Probleme avec Mysql
    Par kevinss dans le forum Administration
    Réponses: 5
    Dernier message: 31/10/2003, 10h43
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo