Bonjour,
je cherche des cours sur la gestion des bases en FMX... Je galère. La base que je veux atteindre est hébergée sur un serveur Nux MariaDB 64.
Le principe est celui-ci -> A l'ouverture du projet, je remplis une base SQLite:memory: identique à la MariaDB (la différence de gestion des quote SQLite/MariaDB est prise en compte, UTF-8, même collate). L'affichage (les dbXXXX) est basé sur cette base SQLite. Lors d'une modification d'un enregistrement par exemple, j'utilise 2 transactions : une sur ma base distante MariaDB, une sur la SQLite.
Alors voici les résultats obtenus :
- Delphi VCL : OK
- Lazarus Nux (32 et 64) : OK (anecdotique)
- Delphi FMX Windows : OK.
- Delphi FMX OS X : SQLite : OK - MariaDB : No (pas d'erreur signalée mais non )
- Qt 5 : Win/Nux : OK mais surtout OS X (même appareil que celui utilisé comme cible par Delphi) : OK
OS X est en 64 bits. Avec la cross-compilation Delphi... il ne se passe rien... Le programme part dans une boucle infinie lors de la connexion à la base MariaDB
Si j'utilise un fichier SQLite.db, au lieu d'un SQLite:memory (MariaDB-> SQLite:memory: -> SQLite.db créé avec Qt sous OS X), le projet cross-compilé lit le SQLite.db sous OS X. Bref, l'accès à SQLite est correct, mais celui à MariaDB ne l'est pas. Je reporte le problème depuis pas mal de temps, mais il va bien falloir le résoudre... un jour ! J'ai googolé, j'ai relu la doc... Rien sur ce genre de prob... Et la cross-compilation, ce "truc" partiellement aveugle et muet, m'exaspère... Je viens de m'en reprendre une petite dose...
Je ne sais même plus quoi engager comme test maintenant. Qu'est-ce qui peut faire que
- depuis mon Mac Mini OS X l'accès à la base MariaDB hébergée sur le serveur linux distant avec Qt 5 est possible,
- qu'il ne l'est pas avec le même poste en cross-compilant avec Delphi
- mais que l'accès à une base SQLite locale dans les mêmes conditions [2] l'est
- et que -cerise sur le gâteau-, le même programme FMX Windows atteint aussi bien la SQLite que la MariaDB
Un début d'idée. N'importe quoi, je suis preneur ?
Partager