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 :

Quelle version de SQL utiliser 40, 41, 50, 3lite ... ?


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2020
    Messages : 6
    Par défaut Quelle version de SQL utiliser 40, 41, 50, 3lite ... ?
    Bonjour,

    J'ai créé une base de données sous access mais je ne trouve limité en exploitation. Il y a 25 ans environ, j'étais déjà dans ce cas là et on m'avait conseillé d'utiliser Delphi (dispo pour la boite où je bossais alors).

    Je m'oriente donc vers Lazarus qui semble être une bonne alternative cependant, pépé il est totalement perdu ! J'ai beau eu chercher, sûrement mal, mais je n'ai pas trouvé :

    - Quelle version SQL utiliser ? (le fichier excel microsoft est peut-être limpide pour les pro, mais pour moi, il pourrait être en mandarin austral, ça reviendrait au même)

    - Comment créer base, tables, liaisons et diverses requêtes avec lazarus SANS PASSER PAR UN AUTRE LOGICIEL (de mémoire c'était possible sous Delphi 3 à l'époque - il y avait notamment un contrôle TTable que je ne trouve pas avec lazarus).

    Merci pour vos réponses,

    Padawann

    PS :Je suis pas informaticien. J'ai le QI d'une huitre (et encore), je peux éventuellement comprendre très vite mais il faut une éternité pour me l'expliquer.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Par défaut
    Bonjour,

    A mon petit niveau je ne crois pas que ce que vous cherchez existe dans Lazarus. Je l'utilise de temps en temps pour faire de petites routines accédant à Microsoft Sql Server ou MySql. Je passe par les outils dédiés à chaque moteur de base de données pour créer des tables ou des requêtes comme Microsoft Management Studio ou PhpMyAdmin pour mysql. Il y a tout ce qu'il faut dans LAzarus pour lire/écrire dans des bases de données, mais pas pour les gérer visuellement complètement comme Access.

    Le point de départ : https://wiki.lazarus.freepascal.org/Portalatabases.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2020
    Messages : 6
    Par défaut
    Bonjour,

    Merci pour cette réponse, qui me surprend énormément.

    J'ai bossé pour un labo qui avait développé un logiciel internet d'exploitation d'enregistrements sur banc d'essais via Delphi (il me semble que l'acquisition des mesures se faisait via cette appli - mais sans certitudes). Toutes les données étant archivées dans une base de données. C'était en 1998 et il n'y avait pas les moyens d'aujourd'hui.

    Je sais que Lazarus n'est pas Delphi. Cependant, il me semble réaliste de croire que la plateforme actuelle Lazarus doit être au moins aussi performante que la version 3 de Delphi (windows 95 et NT).

    Où alors je suis bien à l'ouest.

    Malgré tout il me reste une question : comment connait-on la version SQL à utiliser via Lazarus ?

    Merci

    Padawann

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 937
    Billets dans le blog
    6
    Par défaut
    Bonjour,
    La version SQL à utiliser est celle imposée par le SGBD et dépend donc uniquement de celui-ci.
    Par exemple, pour une base SQLite, quelques spécificités par rapport à d'autres standards.
    La première question est donc : quel SGBD utiliser ? Lazarus fournit des drivers pour l'accès à de nombreux.
    Ensuite, l'accès aux données et leur affichage.
    Un aperçu ici : https://wiki.freepascal.org/Lazarus_Database_Overview.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

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

    Padawann, je pense qu'il faut voir 2 aspects dans ta demande :
    • Le gestionnaire de base de données qui permet de créer la base, les tables, index, triggers, ... enfin, tout ce qu'on attend d'un tel gestionnaire y compris les sauvegardes, exports ...
    • La partie "cliente" (gestion des données) qui peut être développée avec Lazarus (ou tout autres environnement de développement) en utilisant les composants adaptés et qui va permettre d'ajouter / modifier / supprimer / lire des données dans la base


    Pour la partie "gestionnaire de base de données", il existe multitude d'outils dépendants (ou non) du SGBD utilisé. Par exemple, il y a DBeaver (gratuit) qui est multi SGBD (donc peut gérer aussi bien une base MariaDb (ou MySql) qu'une base SQLite ou Firebird ou ...).
    Pour la partie "gestionnaire des données", là aussi, il existe plusieurs librairies de composants qui correspondent. Il y a ceux "standards" intégrés à Lazarus et ceux que l'on peut installer "en plus".

    A titre personnel, j'utilise Delphi 10.4.2 CE sur Windows 10 et Lazarus sur Ubuntu 18.04. Aucun n'a d'outils intégrés permettant de gérer directement une base de données (créer la base, créer les tables ...). Certes, tout peut se faire sous forme d'ordres SQL (donc, effectivement, sans passer par des outils tiers) mais alors, bon courage pour tout coder !

    J'utilise 3 types de bases de données :
    • Firebird 3
    • SQLite 3
    • MariaDb 10


    Comme outils de gestion des bases (pour les créer, définir les tables, les index, triggers, ...) ;
    • SQL Manager Lite pour Firebird de EMS Software (gratuit)
    • Flamerobin pour Firebird (gratuit)
    • DB Browser pour SQLite (gratuit)
    • PhpMyAdmin pour MariaDb (gratuit)
    • DBeaver (multi bases de données)


    Concernant les composants pour les accès aux bases de données, j'utilise la librairie ZEOS aussi bien avec Delphi que Lazarus (elle est d'ailleurs référencée dans le lien donné par tourlourou). Cette librairie de composants permet d'accéder à plusieurs types de SGBD (Oracle / MySQL / PostgreSql / Firebird / SQLite ... même Access via ODBC).

    Delphi comme Lazarus n'incluent pas (ou alors je les ai "loupé") de gestionnaire de base de données (pouvoir créer et gérer visuellement les bases). Si mes souvenirs sont exacts, avec Delphi 3, il y avait un outil qui était avec et permettait de gérer une base de données mais je crois me souvenir que c'était essentiellement pour DBase (fichiers dbf) et Paradox (fichiers db). Mais il fallait quand même développer toute la logique métier pour gérer les données.

    Je pense, Padawann, que tu confonds les 2 : le SGBD (avec un outil d'administration de la base) d'un côté et l'application "métier" de l'autre (développée avec Lazarus par exemple) qui va gérer les données en fonction des besoins métiers, donc en fonction de tes besoins.

    Bonne journée.

    Cdt
    Dernière modification par tourlourou ; 11/12/2022 à 11h38. Motif: orthographe

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2020
    Messages : 6
    Par défaut
    Merci pour vos réponses.

    Ça ne va pas dans le sens que j'attendais, et donc pas en cohérence avec les discutions de j'ai eues à l'époque. Je me trompe peut-être, je suis borné : oui ; mais je reste sûr sur le fait qu'avec Delphi 3 on pouvait se passer d'un autre support pour créer bases et tables.

    Bref, ce qu'il en ressort, c'est qu'il est préférable pour moi de rester avec une interface (Access) plutôt que de m'éparpiller sur plusieurs.

    C'est étrange ce sentiment que, "avant" on savait faire des trucs qu'on est incapable de faire aujourd'hui : Ce n'est qu'une impression personnelle ... quoique, c'est le cas de la tour Eiffel déjà.

    Merci encore pour vos réponses,

    Padawann

  7. #7
    Membre chevronné

    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 181
    Par défaut
    Bonjour,

    Citation Envoyé par Padawann Voir le message
    - Comment créer base, tables, liaisons et diverses requêtes avec lazarus SANS PASSER PAR UN AUTRE LOGICIEL
    Il y a SQLite. Pas de serveur, un simple fichier DB mais un seul utilisateur à la fois.

    bb84000

  8. #8
    Invité
    Invité(e)
    Par défaut
    bb84000,

    Oui, SQLite ne nécessite pas de serveur mais, pour répondre à la demande de Padawann, il faut quand même, je pense, un outil d'administration pour créer la base (fichier DB) et l'administrer ensuite (créer les tables, les index ...). Et, sauf erreur de ma part (ou alors j'ai une version trop ancienne d'installée sur mon Ubuntu 18.04), Lazarus n'a pas d'outil intégré permettant de gérer la base de données comme le font des outils adaptés. Comme je l'ai déjà indiqué, il est possible de se passer d'un outil d'administration pour gérer la base mais écrire tout le code SQL des "create" ou autre instruction ... ce n'est pas optimum quand on voit les outils adaptés déjà développés pour cela.

    Petit éloignement du sujet initial :
    Firebird n'a pas besoin de serveur non plus à installer, juste le fichier fdb (la base) et les fichiers Firebird nécessaires au fonctionnement (qui peuvent être placés par simple copier/coller dans le même répertoire que l'exe ... si c'est pour windows). C'est aussi le cas pour MariaDb et MySql ... on peut les utiliser sans avoir quoi que ce soit à installer (juste des fichiers à copier/coller). A la différence des autres, il faut quand même lancer "le serveur" avant utilisation de la base. Ca peut être géré dans l'application utilisant la base de données. J'ai fait des tests en ce sens il y a quelques temps. Sous Windows, ça fonctionne ... je ne sais pas sur Linux car je n'ai pas testé

    Mais je m'éloigne du sujet initial ... désolé pour Padawann

    Cdt
    Dernière modification par Invité ; 11/12/2022 à 18h35.

  9. #9
    Rédacteur
    Avatar de Chrispi
    Homme Profil pro
    Chargé de missions
    Inscrit en
    Juin 2020
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2020
    Messages : 258
    Par défaut
    Bonsoir Padawann,

    Je rejoins l'avis d'inforock.

    Il faudrait peut-être aller voir ce tuto d'Alcatiz :

    https://alcatiz.developpez.com/tutoriel/lazarus-mysql/

    Il permet d'aborder la gestion d'une base de donnée, même pour un débutant.

    Bonne soirée.

    Cordialement.

  10. #10
    Membre chevronné

    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 181
    Par défaut
    Bonjour,

    Citation Envoyé par inforock Voir le message
    Oui, SQLite ne nécessite pas de serveur mais, pour répondre à la demande de Padawann, il faut quand même, je pense, un outil d'administration pour créer la base (fichier DB) et l'administrer ensuite (créer les tables, les index ...).
    Même s'il est recommandé de créer une base SQLITE avec un outil externe, il est tout à fait possible de créer la base directement avec le composant TSQLite3Connection. Dans le lien que j'ai indiqué plus haut, le paragraphe Création d'une base de données explique comment faire, avec un exemple.

    bb84000

  11. #11
    Invité
    Invité(e)
    Par défaut
    bb84000,

    Je connais ces composants et je ne dis pas que ce n'est pas faisable d'administrer une base de données sans utiliser un outil dédié. Mais, comme je l'ai déjà indiqué dans mes précédents échanges, il faut écrire tout le code SQL manuellement.

    Certes, la phrase que tu reprends n'était pas très claire et pouvait porter à croire qu'un outil d'administration est obligatoire mais mon échange de 15h14 indiquait clairement qu'on peut se passer de ce type d'outil.

    Ci-dessous ce que j'écrivais dans mon message de 15h14 (j'y faisais même allusion dans mon message de 10h15) :
    il est aussi possible de tout faire via un développement Lazarus en utilisant les composants standards d'accès aux bases de données (ou installés en plus) et sans utiliser d'outil externe d'administration de la base : il faut juste beaucoup plus de code car il faut écrire tout le SQL de gestion de la base => SQL pour créer la base / SQL pour créer les tables / SQL pour créer les index / SQL pour créer les triggers ... bref, écrire tout ce que fait un outil spécialisé dont c'est son objectif.
    N'est-ce pas plus intéressant d'utiliser un outil spécialement conçu avec une UI adaptée pour administrer une base ? Ce n'est que mon avis et, personnellement, je trouve qu'en 2022 écrire ce genre de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            SQLite3Connection1.Open;
            SQLTransaction1.Active := true;
     
            // Here we're setting up a table named "DATA" in the new database
            SQLite3Connection1.ExecuteDirect('CREATE TABLE "DATA"('+
                        ' "id" Integer NOT NULL PRIMARY KEY AUTOINCREMENT,'+
                        ' "Current_Time" DateTime NOT NULL,'+
                        ' "User_Name" Char(128) NOT NULL,'+
                        ' "Info" Char(128) NOT NULL);');
     
            // Creating an index based upon id in the DATA Table
            SQLite3Connection1.ExecuteDirect('CREATE UNIQUE INDEX "Data_id_idx" ON "DATA"( "id" );');
    alors que des outils d'administration existent ... ce n'est pas ce qu'il y a de plus intéressant ! Sauf si il y a nécessité de mettre à jour la structure de la base de données dans le cadre d'une mise à jour applicative ou bien si on veut apprendre et mettre en œuvre tous ces ordres SQL. J'ai pratiqué cela dans les années 90 et, en 2022, je préfère utiliser les outils prévus à cet effet.

    Ce n'est que mon avis et je suis d'accord avec moi-même (même si ce n'est pas toujours le cas )

    PS : je préfère utiliser les composants ZEOS que je trouve plus complets et performants pour les accès aux bases de données.

    Cdt

  12. #12
    Membre chevronné

    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 181
    Par défaut
    Bonjour Inforock !

    Je suis bien d'accord avec ce que tu écris, mais la demande originale était bien de pouvoir créer une base directement sous Lazarus. Pas si c'est plus facile ou plus moderne avec un autre outil.

    bb84000

Discussions similaires

  1. Quelle version de struts utiliser ?
    Par newmar dans le forum Struts 1
    Réponses: 21
    Dernier message: 28/02/2008, 17h07
  2. [XHTML] Quelle version de XHTML utiliser?
    Par helpcomm dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 11/12/2007, 08h53
  3. Quelle version d'oracle utiliser ? (Dev. local)
    Par pepito62 dans le forum Installation
    Réponses: 2
    Dernier message: 04/11/2007, 13h44
  4. [SOLARIS] Quelle version puis-je utiliser ?
    Par bruce_illimited dans le forum Solaris
    Réponses: 1
    Dernier message: 15/05/2007, 17h51
  5. [UBUNTU] Quelle version de Gcc à utiliser
    Par krachik dans le forum Ubuntu
    Réponses: 3
    Dernier message: 22/04/2007, 12h30

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