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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    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
    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 émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    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.

  3. #3
    Membre émérite

    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
    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 émérite

    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
    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 émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    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é !




  6. #6
    Membre émérite

    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
    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 émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    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 !

  8. #8
    Membre éclairé
    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
    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 ??

  9. #9
    Membre émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    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...

  10. #10
    Membre éclairé
    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
    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

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

    Informations professionnelles :
    Activité : Développeur informatique

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

  12. #12
    Membre éclairé
    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
    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