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 :

Base de données Lazarus


Sujet :

Lazarus Pascal

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Base de données Lazarus
    Bonjour,
    Je suis à la recherche d'un moyen pour faire une base de données multi-utilisateur avec Lazarus.
    Si quelqu'un aurait le code à intégrer, ça serait sympa.
    Merci.

  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    Quel type de base de données ? avec serveur (ex : postgresql, mysql, mariadb, firebird, sql server) ? ou sans serveur (ex: sqlite3, firebird embed) ? si sans serveur avec accès simultanés en écriture ?
    Quel genre de base de données ? Texte ? texte + medias ?
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Salut,
    Merci d'avoir répondu.
    Il s'agit d'une base sans serveur créer avec SQLite expert sur laquelle plusieurs utilisateurs doivent pouvoir se connecter en même temps.
    Pour le type de données, on y intègre que du texte, aucun médias ni même photo.
    Merci à toi

  4. #4
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Bonjour,

    Dans ce cas, Lazarus possède des outils natifs pour accéder aux bases SQLite. Tu peux aussi voir du coté des composants ZEOS qui permettent d'accéder à pratiquement tout ce qui se fait en bases de données.

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    Bonjour,

    Citation Envoyé par chrisgeil Voir le message
    Il s'agit d'une base sans serveur créer avec SQLite expert sur laquelle plusieurs utilisateurs doivent pouvoir se connecter en même temps.
    Comment compte tu faire?
    En multi tiers cela peut fonctionner mais il faut créer le programme qui te permettra d'y accéder...
    Pour le reste (réseau ou autre avec un programme qui accède directement à la base de plusieurs postes ou même d'un seul, ce n'est pas vraiment le cœur de cible de SQLITE https://www.sqlite.org/whentouse.html (Situations Where A Client/Server RDBMS May Work Better)

    Cordialement

  6. #6
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    dans la distribution Lazarus il y a un exemple de base de données Sqlite3 dont je suis l'auteur (dans Lazarus/examples/database/image_mushrooms) : c'est une base de données de champignons mortels qui peut soit utiliser une base sqlite3, soit une base firebird embed. Elle utilise les composants du paquet standard SQLDBLaz. Elle utilise aussi le paquet lazReport pour pouvoir imprimer. Cela te donnera une idée de ce qu'on peut faire dans Lazarus pour dialoguer avec une base de données sqlite3.

    Nom : DeadlyMushrooms.JPG
Affichages : 520
Taille : 141,5 Ko

    Attention aux accès multiutilisateurs surtout en écriture. Bien que cela soit possible une bdd de type fichier n'est pas l'idéal pour ce type d'accès.

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Salut à tous et merci pour vos réponses, je vais tâcher d'y répondre une par une.
    Tout d'abord, en ce qui concerne les composants natifs, je les utilise dans l'appli, mais j'irais faire un tout du côté de chez Swann...euh Zeos
    Pour l'accés multi, c'est justement ce que je recherche. En fait, l'appli en elle-même tourne, mais si je suis connecté à la base, mon collègue ne peux pas lancer l'appli car identification=connexion. Du coup, je souhaite que l'on puisse tout les deux se connecter au même moment sans veiller à ce que l'autre soit déconnecté.
    Je regarderais le projet de @Jurassoc Pork pour voir ce qui se fait
    Cordialement,

  8. #8
    Membre éprouvé
    Avatar de Chrispi
    Homme Profil pro
    Chargé de missions
    Inscrit en
    Juin 2020
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Chargé de missions
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2020
    Messages : 204
    Points : 1 003
    Points
    1 003
    Par défaut
    Bonjour chrisgeil,

    Il semblerait que SQLite ne soit pas la meilleure solution pour une utilisation multiposte.
    Je t'invite à consulter la discussion :
    https://www.developpez.net/forums/d1...r/avis-sqlite/

    Cordialement,

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Chrispi Voir le message
    Bonjour chrisgeil,

    Il semblerait que SQLite ne soit pas la meilleure solution pour une utilisation multiposte.
    Je t'invite à consulter la discussion :
    https://www.developpez.net/forums/d1...r/avis-sqlite/

    Cordialement,

    Bonsoir,
    Merci pour la reférence. J'étais tombé dessus lors de mes recherches mais je dois avouer que, personellement, l'utilisation multiposte ne me pose pas de problèmes particulier (pour le moment). Le logiciel est installé sur un serveur et chacun des postes qui s'y connectent ont leur propre executable avec des paramètres intégrés. Le seul problème majeur c'est la connexion simultanée des utilisateurs. J'aimerais autant que possible conserver la base SQLite, mais s'il n'y a pas de solution viable, je pourrais envigaser un remplacement.

    Cordialement,

  10. #10
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    À toutes fins utiles il existe un petit tutoriel présentant les composants natifs de Lazarus pour MariaDB/MySQL :
    https://alcatiz.developpez.com/tutoriel/lazarus-mysql/

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  11. #11
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    Bonjour,
    Citation Envoyé par chrisgeil Voir le message
    Merci pour la reférence. J'étais tombé dessus lors de mes recherches mais je dois avouer que, personellement, l'utilisation multiposte ne me pose pas de problèmes particulier (pour le moment). Le logiciel est installé sur un serveur et chacun des postes qui s'y connectent ont leur propre executable avec des paramètres intégrés. Le seul problème majeur c'est la connexion simultanée des utilisateurs. J'aimerais autant que possible conserver la base SQLite, mais s'il n'y a pas de solution viable, je pourrais envigaser un remplacement.
    Est que les postes se connectent sur le logiciel (1) ou sur la base de données SQLITE (2)?
    Dans le premier cas (1), cela pourrait fonctionner car c'est le logiciel sur le serveur qui fait le traitement de sérialisation et de traitement des collisions (à vérifier quand même)
    Dans le second cas (2), tu te trouves avec le transfert des fichiers de complets de la base de données sur ton réseau (et ce cas n'est vraiment pas recommandé pour SQLITE)

    Cordialement

  12. #12
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Voici un article que j'ai rédigé qui pourrait aider (https://remi-gouyon.developpez.com/t...ere-appli-bdd/).
    Le couple Zeos MySQL fonctionne très bien et il est assez facile de faire de l'accès multiple.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Février 2013
    Messages : 70
    Points : 146
    Points
    146
    Par défaut
    Citation Envoyé par Gouyon Voir le message
    Le couple Zeos MySQL fonctionne très bien et il est assez facile de faire de l'accès multiple.
    Il fonctionne parfaitement, mais la dernière fois que j'ai vérifié, Zeos sauvegardait le mot de passe de connexion directement dans le fichier exécutable sans aucune encryption, même basique. Un simple éditeur hexadécimal suffisait pour admirer le mot de passe dans l'exécutable. Évidemment, il faut savoir ce que l'on cherche, pour ce test, j'avais mis une trivialité du genre : « CeMotDePasseTresSecret » comme mot de passe. Cela m'a porté à me questionner sur le niveau de sécurité lorsque le mot de passe n'est pas entré au moment de la conception : est-t-il transmis de façon sécuritaire ? Est-il crypté avant d'être envoyé sur le câble Ethernet ?

  14. #14
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Pierre le Grand Voir le message
    Il fonctionne parfaitement, mais la dernière fois que j'ai vérifié, Zeos sauvegardait le mot de passe de connexion directement dans le fichier exécutable sans aucune encryption, même basique. Un simple éditeur hexadécimal suffisait pour admirer le mot de passe dans l'exécutable. Évidemment, il faut savoir ce que l'on cherche, pour ce test, j'avais mis une trivialité du genre : « CeMotDePasseTresSecret » comme mot de passe. Cela m'a porté à me questionner sur le niveau de sécurité lorsque le mot de passe n'est pas entré au moment de la conception : est-t-il transmis de façon sécuritaire ? Est-il crypté avant d'être envoyé sur le câble Ethernet ?
    Si la connexion doit se faire sur un serveur accessible via internet dans ce cas il y a la possibilité de s'adresser au serveur via des requêtes HTTP. Dans ce cas de l'autre coté il faut écrire des fonctions en PHP pour répondre aux demande. Avec cette solution toute la connexion avec la base de donnée est faite sur le serveur et le mot de passe ne passe via le réseau.

    Si c'est sur un réseau local c'est un peu moins critique car les informations restent dans un système fermé et isolé de l'extérieur.

    Maintenant sous MYSQL il est possible de créer des utilisateur et de restreindre leurs droits. Les usagers de la base n'ont pas besoin d'avoir tous les privilèges. Dans ce cas si le mot de passe est découvert c'est un peu moins important. En tant que développeur on a tendance à être fainéant et à se connecter en root comme ça on est tranquille on a tous les privilèges et on peut faire ce qu'on veut. C'est une mauvaise habitude.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    Merci à tous pour vos réponses. Désolé de ne pas avoir donné suite, les vacances...
    Pour ce qui est de la connexion, l'utilisateurs est enregistré dans la base de donnée. C'est la connexion à celle-ci qui donne accés au logiciel. Ce n'est pas grave que les données transitent sur le réseau, c'est un réseau fermé et isolé dans un tout petit bâtiment.
    Pour ce qui est de Zeos, le fait que le pass soit dans l'executable ne gêne en rien. Le logiciel en question est un logiciel de gestion des présences donc rien de très confidentiel ni palpitant à vouloir cracker.
    Conclusion, Zeos à l'air de faire l'affaire our ce que je veux faire. Pour ce qui est composants à utiliser, il y en a un en particulier qu'il faut insérer? Faut-il du code pour autoriser le multi-user? Ou alors est-ce que les composants font le multi en natif?
    Cordialement

  16. #16
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par chrisgeil Voir le message
    Pour ce qui est composants à utiliser, il y en a un en particulier qu'il faut insérer? Faut-il du code pour autoriser le multi-user? Ou alors est-ce que les composants font le multi en natif?
    Il faudrait en savoir un peu plus sur ton réseau mais je suppose que la base sera hébergée sur une machine donnée et que ton application sera distribuée sur plusieurs machines. Dans ce cas il faudra configurer MySQL de façon à ce qu'il accepte les connexions réseau et ensuite programmer le connecteur Zeos pour MySQL. C'est MySQL qui va de toute façon gérer le multi-utilisateurs sans que tu n'ai quoique ce soit à faire. Si tu regardes bien mon article ça devrait répondre à la plus part de tes questions.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    Effectivement la base et l'application sont tout deux hebergés sur le serveur et les postes qui accèdent à l'application ont un executable personalisé sur le bureau. MySQL n'est installé ni sur les postes ni sur le serveur, il s'agit d'une base embarquée. Pour le moment, l'application tourne dans cette configuration.
    Je vais aller faire un tour sur tes divers articles

Discussions similaires

  1. [Lazarus] Base de données autonome
    Par jolicone dans le forum Lazarus
    Réponses: 2
    Dernier message: 02/01/2008, 22h55
  2. Réponses: 1
    Dernier message: 30/11/2007, 11h12
  3. [Lazarus] Problème de requête sur une base de données
    Par bubulemaster dans le forum Lazarus
    Réponses: 1
    Dernier message: 09/11/2007, 18h14
  4. Lazarus et bases de données
    Par migjef dans le forum Lazarus
    Réponses: 1
    Dernier message: 30/03/2007, 17h09
  5. [Lazarus] Renseignement sur les bases de données
    Par lohot dans le forum Lazarus
    Réponses: 1
    Dernier message: 17/01/2007, 22h04

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