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

  1. #21
    Rédacteur/Modérateur

    Bonjour,

    ce message d'erreur n'est pas un message Firebird, en fait c'est une erreur récurrente (pour preuve il suffit de faire une recherche avec les mots clés Firebird+external+SIGSEV) avec Lazarus et Firebird.
    J'ai lu, en survolant les discussions, qu'il semblerait que ce soit un problème de dll mal géré ou plutôt mal libéré (voir le tutoriel de Gilles).
    les composants ZEOS avaient ce problème il a été résolu.

    Ceci écrit, il est vrai que certaines versions de Firebird,quelquefois selon les OS ont eu des bugs, après tout c'est pour cela qu'il y a des versions Alpha,Beta avant de passer a des versions stables. C'est pour cela qu'il n'est pas recommandé d'utiliser en mode production, une version non stable. Une version Alpha est faite pour des tests afin de remonter les problèmes rencontrés s'il y en a (copie d'une base de production et tests des programmes sur cette base) et tester les nouvelles fonctionnalités. Il faut pour cela du temps, des moyens (plusieurs PC) ou faire cohabiter plusieurs versions de Firebird (c'est mon cas) mais il faut aussi des programmes adaptés (indication de port et ou indication du chemin de la bibliothèque pour la connexion)
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  2. #22
    Membre éclairé
    Bonjour à tous,

    @SergioMaster,

    Merci pour l'explication.

    J'essaie aujourd'hui de reproduire le même message d'erreur avec la version 4.0
    et dans les mêmes conditions, et après une multitude d'essais.
    Résultat: Néant, aucun message d'erreur n'est affiché.

    Si ce message est causé par certains composants de lazarus, alors pourquoi il ne se reproduit pas avec la version 4.0?

  3. #23
    Chroniqueur Actualités

    La Bêta 1 du SGBDR Firebird 4.0 est disponible pour les tests
    La Bêta 1 du SGBDR Firebird 4.0 est disponible pour les tests
    toutes les fonctionnalités obligatoires pour cette version majeure sont finalisées

    Le projet Firebird vient d'annoncer la disponibilité de la Beta 1 de Firebird 4.0 (la prochaine version majeure de la base de données relationnelle Firebird) pour les tests, plus d'un an après la sortie de la version Alpha 1. Notons que pour le développement de Firebird 4.0, il existe des fonctionnalités obligatoires et des fonctionnalités optionnelles. Les fonctionnalités obligatoires sont celles sans lesquelles cette version ne peut être publiée. Elles sont donc développées avec la plus haute priorité. En ce qui concerne les fonctionnalités optionnelles, elles sont développées après les premières et peuvent être reportées si leur finalisation n'est pas possible avant la date de publication de la version stable.

    En plus de la pratique habituelle de corriger de nombreux bogues, la bêta 1 de Firebird 4.0 marque une étape importante vers la version stable, car toutes les fonctionnalités obligatoires ont été finalisées.

    Les fonctionnalités obligatoires

    Firebird 4.0 va enfin se doter d'une réplication intégrée. Tous les grands projets et projets d'entreprise ont besoin d'un service de réplication. C'est d'ailleurs l'un des critères à vérifier lorsqu'un architecte logiciel doit choisir une base de données pour son prochain projet. Certes, il existe des outils tiers pour faire cela dans Firebird, mais le SGBDR n'a pas de fonctionnalité de réplication intégrée. Certains développeurs ont rapporté que la réplication était le principal problème rencontré avec Firebird et que pour cette raison beaucoup de clients sont passés de Firebird à des alternatives comme MySQL, même si celles-ci n'étaient pas forcément meilleures. Cette fonctionnalité est désormais disponible dans la bêta 1 de Firebird 4.0.

    On notera aussi dans cette version une amélioration de la restauration incrémentielle via nbackup. Il s'agit ici d'emprunter l'expérience d'IB2007 (InterBase 2007) et améliorer les fonctionnalités de nbackup, un utilitaire de sauvegarde livré avec Firebird 2.0. Actuellement, il n'est pas possible de prendre la sauvegarde de niveau 0 et y placer l'incrément de niveau 1 (c'est-à-dire les changements depuis la sauvegarde de niveau 0 jusqu'à la sauvegarde incrémentielle de niveau 1) sans copier les deux dans un nouveau fichier. Et après cela, on ne peut pas ajouter sur le résultat l’incrément de niveau 2. Une solution a donc été proposée pour corriger ce problème.


    Comme autres nouveautés, au niveau des fonctionnalités obligatoires, on peut citer le support de noms d'objets de plus de 31 caractères. Comme dans d'autres SGBDR, un développeur estimait nécessaire que Firebird prenne en charge des noms d'objets plus longs. L'équipe de développement a donc décidé d'augmenter la longueur maximale des noms d'objets à 63 caractères. Si avoir des identifiants plus longs peut être utile, cela pourrait toutefois avoir une incidence sur la portabilité de la base de données. Certains ont rappelé par exemple qu'Oracle impose une limite de 30 caractères pour les identifiants.

    Soulignons également les timeouts pour les instructions, transactions et les connexions. Il s'agissait de permettre aux développeurs de définir des délais d'attente (timeout) dans différentes situations. Par exemple pour arrêter automatiquement l'exécution d'une instruction SQL lorsqu'elle est plus longue que prévu, ou encore fermer automatiquement la connexion de l'utilisateur après une période d'inactivité.

    Les nouveautés incluent les variables numériques avec une précision de plus de 18 chiffres et des calculs intermédiaires améliorés pour des numériques plus courts. L'objectif est d'améliorer la précision des calculs avec des variables NUMERIC/DECIMAL. D'après le développeur qui a rapporté le problème, la façon dont Firebird gère actuellement la précision des résultats des calculs impliquant de multiples arguments peut facilement provoquer des débordements, lorsque la précision du résultat dépend de la précision des arguments.

    On note encore le support des opérations batch insert et update et des petits changements au niveau des rôles prédéfinis. Certains privilèges DBA par exemple ont été transférés aux utilisateurs ordinaires.

    Les fonctionnalités optionnelles

    Les choses avancent également bien du côté des fonctionnalités optionnelles. Ici, on peut noter, parmi les fonctionnalités qui ont été finalisées, un support élargi des fonctions de fenêtrage, une amélioration du support des fuseaux horaires la possibilité d'attribuer un rôle à un autre rôle afin qu'il hérite des privilèges du premier, entre autres. Et le développement d'autres fonctionnalités est prévu ou en cours. Vous trouverez plus de détails sur cette version sur le site officiel de Firebird.

    Sources : Annonce de Firebird 4.0 Beta 1, Liste des principales fonctionnalités obligatoires et optionnelles

    Et vous ?

    Utilisez-vous le SGBDR open source Firebird ? Comment le jugez-vous ?
    Que pensez-vous des nouveautés de la prochaine version majeure ? Quelles fonctionnalités attendez-vous encore de ce SGBDR ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  4. #24
    Membre expert
    Çà fait plaisir de voir que Firebird continue son évolution... C'est une très bonne base de données, je l'utilise souvent comme base de données en version embarquée dans mes applications... Légère, très puissante et très rapide... Bien intégrée avec Delphi, que du bonheur...

  5. #25
    Membre éclairé
    Bonjour à tous,

    1. Avant tout je dois saluer l'effort fait par l'équipe firebird, pour
    les nouvelles fonctionnalités ajoutées à cette version.

    2. En faisant une comparaison très précise de cette version avec la version
    Alpha en matière de libération de ressources (fermeture de l'application
    après 4 seconde de son ouverture), j'ai constaté que cette version affiche
    une exception de ce genre:


    alors que la version Alpha n'affiche rien.
    Donc j'ai choisi de rester avec cette dernière.


    3. J'aurai souhaité que le niveau d'isolation par défaut des transactions,
    SNAPSHOT, sera substitué par READ COMMITTED, c'est plus pratique non?

    merci pour votre attention.

  6. #26
    Rédacteur

    Citation Envoyé par Michael Guilloux Voir le message
    La Bêta 1 du SGBDR Firebird 4.0 est disponible pour les tests
    toutes les fonctionnalités obligatoires pour cette version majeure sont finalisées

    Comme autres nouveautés, au niveau des fonctionnalités obligatoires, on peut citer le support de noms d'objets de plus de 31 caractères. Comme dans d'autres SGBDR, un développeur estimait nécessaire que Firebird prenne en charge des noms d'objets plus longs. L'équipe de développement a donc décidé d'augmenter la longueur maximale des noms d'objets à 63 caractères. Si avoir des identifiants plus longs peut être utile, cela pourrait toutefois avoir une incidence sur la portabilité de la base de données. Certains ont rappelé par exemple qu'Oracle impose une limite de 30 caractères pour les identifiants.
    Tout cela fait preuve d'un grand amateurisme !
    1) la norme SQL 1992 impose des noms de 128 caractères de long... Donc, pas 63 (firebird) ou 64 (PostgreSQL).
    http://www.contrib.andrew.cmu.edu/~s...ql/sql1992.txt
    2) Oracle utilise dorénavant des identifiants SQL (c'est ainsi que l'on appelle les noms des objets, schéma, table, vue, procédure…) de 128 caractères de long...
    https://oracle-base.com/articles/12c...ntifiers-12cr2


    Les nouveautés incluent les variables numériques avec une précision de plus de 18 chiffres et des calculs intermédiaires améliorés pour des numériques plus courts.

    Déjà dit que c'était insuffisant dans le financier qui exige 12 décimales dans les calculs


    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  7. #27
    Expert confirmé
    C'est où précisément ?
    Hello,

    Je dois justement rendre 1 papier comparatif sur la conformité à SQL, mais je ne trouve pas dans le txt signalé (plusieurs milliers de lignes ) l'endroit où est fixée la longueur pour les objets "techniques"

    Citation Envoyé par SQLpro Voir le message
    Tout cela fait preuve d'un grand amateurisme !
    1) la norme SQL 1992 impose des noms de 128 caractères de long... Donc, pas 63 (firebird) ou 64 (PostgreSQL).
    http://www.contrib.andrew.cmu.edu/~s...ql/sql1992.txt
    Une référence, n° de chapitre ou étiquette à chercher dans ce txt ?

    Merci.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  8. #28
    Rédacteur

    Citation Envoyé par qi130 Voir le message
    Une référence, n° de chapitre ou étiquette à chercher dans ce txt ?

    Merci.

    Page 81 :


    <regular identifier> ::= <identifier body>

    <identifier body> ::=
    <identifier start> [ { | }... ]


    <identifier start> ::= !! See the Syntax Rules

    <identifier part> ::=
    <identifier start>
    | <digit>



    Page 85 et suivantes :

    Syntax Rules

    1) An <identifier start> is one of:

    a) A <simple Latin letter>; or

    b) A character that is identified as a letter in the character
    repertoire identified by the <module character set specifica-
    tion> or by the <character set specification>; or

    c) A character that is identified as a syllable in the char-
    acter repertoire identified by the <module character set
    specification> or by the <character set specification>; or

    d) A character that is identified as an ideograph in the char-
    acter repertoire identified by the <module character set
    specification> or by the <character set specification>.

    2) With the exception of the <space> character explicitly contained
    in <timestamp string> and <interval string> and the permitted
    <separator>s in <bit string literal>s and <hex string literal>s,
    a <token>, other than a <character string literal>, a <national
    character string literal>, or a <delimited identifier>, shall
    not include a <space> character or other <separator>.

    3) A <nondoublequote character> is one of:

    a) Any <SQL language character> other than a <double quote>;

    b) Any character other than a <double quote> in the character
    repertoire identified by the <module character set specifica-
    tion>; or

    c) Any character other than a <double quote> in the character
    repertoire identified by the <character set specification>.

    4) The two <doublequote>s contained in a <doublequote symbol> shall
    not be separated by any <separator>.

    5) Any <token> may be followed by a <separator>. A <nondelimiter
    token> shall be followed by a <delimiter token> or a <separa-
    tor>. If the Format does not allow a <nondelimiter token> to be
    followed by a <delimiter token>, then that <nondelimiter token>
    shall be followed by a <separator>.

    6) There shall be no <space> nor <newline> separating the <minus
    sign>s of a <comment introducer>.

    7) SQL text containing one or more instances of <comment> is equiv-
    alent to the same SQL text with the <comment> replaced with
    <newline>.

    8) The sum of the number of <identifier start>s and the number
    of <identifier part>s in a <regular identifier> shall not be
    greater than 128.

    9) The <delimited identifier body> of a <delimited identifier>
    shall not comprise more than 128 <delimited identifier part>s.





    En gros, traduction :

    Un identifiant SQL ne doit pas dépasser 128 caractères, être composé de lettres, de chiffres et du blanc souligné et commencer (<identifier_start>) par une lettre ou un blanc souligné (<undersore>). Quelques exceptions pour certains identifiant particulier comme :<timestamp string> <interval string> <bit string literal> <hex string literal>...


    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  9. #29
    Expert confirmé
    Ah, merci.

    du coup, 63 caractères pour Firebird serait SQL92 compliant (puisque pas supérieur à 128) ?
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  10. #30
    Rédacteur/Modérateur

    Bonjour,

    Citation Envoyé par SQLPro
    1) la norme SQL 1992 impose des noms de 128 caractères de long... Donc, pas 63 (firebird) ou 64 (PostgreSQL).
    Moi je ne lis aucune imposition de la taille de nom d'identifiant Shall not be >128 n'est pas Must be equal to 128. C'est vrai que qui peut le plus peu le moins mais, selon les documents présentés, n'est la 128 n'est que la recommandation de taille maximale à ne pas dépasser. Donc traiter ces développeurs d'amateurisme c'est un peu fort
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  11. #31
    Membre du Club
    Réplication Firebird
    Oui, c'est aussi avec grand plaisir que je vois Firebird 4.0 venir.
    Pour moi c'est une excellente base. Performante, extrêmement pratique et facile à transporter ou migrer sans s'embêter avec moultes fichiers dispersés.
    Pour la réplication, il y avait déjà IbReplicator qui marche très bien depuis des années.

    Vadim