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

Composants FMX Delphi Discussion :

SQLite avec Firedac


Sujet :

Composants FMX Delphi

  1. #1
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut SQLite avec Firedac
    Bonjour à tou(te)s

    Je prépare une application FMX destinée à la fois à Windows et à OS X.
    Comme j'ai besoin d'une base de données embarquée, je me suis tourné vers SQLite.

    Pour tester les possibilités, je fais une application de test toute simple avec un TFDConnection et le complément PhysSqlite qui va bien.

    Et là, je me suis dis que pour déployer mon application , il me faudra surement des fichiers supplémentaires.
    Alors j'ajoute à mon projet mon fichier .s3db et j'obtiens la liste des possibilités.
    Sauf que dedans, pas de Sqlite.

    Question: La simple utilisation des composants Firedac Delphi est-elle suffisante ou dois-je me tourner vers une autre solution ?

    ps: Il y a bien un choix DBExpress pour Firebird, mais ça m'enchante pas trop :-(

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 582
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    Citation Envoyé par Papy214 Voir le message
    Comme j'ai besoin d'une base de données embarquée, je me suis tourné vers SQLite.
    pas mauvais choix

    Et là, je me suis dis que pour déployer mon application , il me faudra surement des fichiers supplémentaires.
    Alors j'ajoute à mon projet mon fichier .s3db et j'obtiens la liste des possibilités.
    Sauf que dedans, pas de Sqlite.
    Normal, le "moteur" SQLite est inclus dans Firedac, donc à la question la réponse est OUI (du moins c'est le cas pour Android ce que j'ai testé)

    ps: Il y a bien un choix DBExpress pour Firebird, mais ça m'enchante pas trop :-(
    mais pourquoi DBExpress ?, Firedac + Firebird (fdFBPhysdriver) fonctionne très bien

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    Pour MAC, j'ai lu que libsqlite3.dylib est nécessaire mais est présent par défaut sur l'OS et qu'il il a des paramètres par défaut pas très optimisé.
    C'est ce qui m'a fait me poser certaines questions.

    Et pour Firebird, il me faut une version embeded. Tu dis que sous MAC il suffira d'utiliser les composants Firedac sans renseigner un vendorlib spécifique ??

    ****************************

    http://docwiki.embarcadero.com/RADSt...Lite_(FireDAC)

    Sous Mac OS X, FireDAC prend uniquement en charge la liaison dynamique et requiert :

    OS X -- le moteur libsqlite3.dylib x86.
    Il est pré-installé sous Mac OS X. Les moteurs libsqlite3.dylib Mac OS X est compilé avec des capacités limitées pour les métadonnées de colonnes (SQLITE_ENABLE_COLUMN_METADATA n'est pas défini). Par conséquent, FireDAC risque de ne pas détecter le mode d'incrémentation automatique et les options des colonnes. Notez que c'est aussi le cas pour les plates-formes iOS et Android.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 582
    Billets dans le blog
    65
    Par défaut
    Re,

    me fait pas dire ce que je n'ai pas dit, je me suis contenter de tester des interrogations sur une base SQLite sur Androïd et donc de faire une installation telle que proposée par Embarcadero. Ce que j'ai constaté c'est que je n'avais pas besoin d'installer de moteur (biblio supplémentaire).
    Pour ce qui est de Firebird, je me suis pas encore lancé dans les tests (toujours androïd) et oui ce serait la version embeded .
    Cependant pourquoi ne songes-tu pas à IBToGo ?, il faudrait bien sur en vérifier le type de licence , mais là tu serais sur que cela fonctionne (en tout cas moi j'ai vu ça en action OSX, IOS comme Android

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    Pour IBtogo, vu que l'application sera très largement distribuée, j'ai peur que la licence soit un frein :-)

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    Résultat :

    Pour SQLite, rien à ajouter pour MAC, j'arrive à ouvrir mon fichier et à faire une requête. Reste à voir les problèmes de droits.

    Pour Firebird, il se plaint qu'il ne trouve pas libfbclient.dylib ou libfbenbed.dylib

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 582
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    Pour SQLite, rien à ajouter pour MAC, j'arrive à ouvrir mon fichier et à faire une requête. Reste à voir les problèmes de droits.
    c'est bien ce que je pensais, excepté bien sur les fonctionnalités restreintes que tu as indiqué
    Pour Firebird, il se plaint qu'il ne trouve pas libfbclient.dylib ou libfbenbed.dylib
    pour cela il te faut simplement charger une version mac de firebird et voir les fichiers nécessaires pour la version embeded (pour windows il faut plus que la dll). Les mettre quelque part dans un répertoire windows et faire les ajustements nécessaires à la compilation du paquet . En bref Embarcadero ne te mâche le travail que pour Interbase
    En une petite heure (avec pauses café) ce doit pouvoir se boucler

    Pour IBtogo, vu que l'application sera très largement distribuée, j'ai peur que la licence soit un frein :-)
    IBtogo, IBlite (je ne sais plus laquelle) semble être gratuite quoique limitée (encore une petite heure de recherches en perspective)

  8. #8
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    Pour Firebird j'ai chargé la version OS X sur le site dédié mais en dézippant je ne trouve pas le fichier dylib.
    Si j'ai bien compris, il faut faire l'installation et ensuite récupérer le fichier dans le dossier approprié.

    Pour IBlite, la taille de base est limitée à 100 mo et ça ne suffira pas.

    IBTogo, est je crois , payante.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    le problème des librairies clientes est récurrent et pénible pour tout autre environnement que Windows. Et en Delphi, on n'a pas trop l'habitude d'accompagner l'exécutable d'une ribambelle de librairies. Que ce soit pour du mobile ou du desktop (Mac os et Linux), un bon compromis reste les composants Devart d'autant que pour SQLite la couche d'encryptage SqlCipher est intégrée. Elle est également disponible avec Firedac, mais concernant ce dernier, la distribution des bibliothèques clientes est nécessaire alors qu'elle ne l'est pas pour les bases les plus usitées avec Unidac.

    Evidemment UniDac a un coût. Il est ridicule pour un développeur informatique puisqu'Unidac est interfaçable avec "Windows, Mac OS X, iOS, Android, Linux, and FreeBSD for both 32-bit and 64-bit platforms", with Delphi, C++Builder, Lazarus (and Free Pascal)". On attaque directement les bases Oracle, MySQL, PostgreSQL, SQLite et NexusDB sans s'occuper des librairies clientes, et comme je le précisais en SQLite la base est protégée (les données et la structure) : 250$ cela représente combien d'heures de rémunération d'un développeur professionnel et cela en économise combien dépensées inutilement à courir après les bonnes librairies clientes ?

    Cdlt-IW
    Dernière modification par Invité ; 16/08/2015 à 22h53.

  10. #10
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    Pour Unidac, je ne savais pas que ça prend en charge les connexions sans ajouter de librairies supplémentaires.
    C'est à étudier, même si je ne suis pas décisionnaire dans l'affaire mais seulement là pour trouver et proposer des solutions.

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 582
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    il est vrai que Unidac semble mieux que Firedac sur ce point mais
    1- SQLite est aussi "embarqué"
    2- Firebird ne l'est pas dans UNIDAC

    Donc "egalité, balle au centre"

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Citation Envoyé par SergioMaster Voir le message
    Donc "egalité, balle au centre"
    On peut voir cela comme ça en effet. D'une manière générale, j'ai une certaine aversion pour les versions Embedded de MySQL ou Firebird : question simplicité de paramétrages, d'installation et de déploiement, SQLite est sans égal, pour un service rendu équivalent. Seule la protection est défaillante mais avec SQLcipher intégré, le problème est réglé. En ce qui concerne Unidac, une version d'essai est téléchargeable. Elle est valable 1 mois. Sa principale limitation est 6 champs au maximum par table.
    Cdlt, IW.
    Dernière modification par Invité ; 19/08/2015 à 01h13.

Discussions similaires

  1. [SQLite CF] Sqlite avec le CF
    Par PM_calou dans le forum Windows Mobile
    Réponses: 12
    Dernier message: 18/09/2008, 08h33
  2. Comment Créer et se connecter a une base SQLite avec zeosLib
    Par Tardiff Jean-François dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/11/2007, 09h26
  3. SqLite avec .Net : JOIN très très lent.
    Par Bluedeep dans le forum Accès aux données
    Réponses: 3
    Dernier message: 20/01/2007, 18h34
  4. [SQLite] Utiliser SQLite avec PHP4
    Par fadeninev dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/10/2006, 16h10
  5. Sqlite avec ADO DB LITE
    Par waldo2188 dans le forum SQLite
    Réponses: 1
    Dernier message: 18/09/2006, 19h45

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