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

 Firebird Discussion :

[FB] longueur max d'un champ unique sous forebird = 80 ?!


Sujet :

Firebird

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 33
    Points : 30
    Points
    30
    Par défaut [FB] longueur max d'un champ unique sous forebird = 80 ?!
    Bonjour,
    Est ce que la taille maximale dans Firebird est de 80 charactère lorsque le champ est unique ?

    j'ai un champ de type varchar (30) et de contrainte unique ! et avce le type de code est unicode_FSS

    je veux modifier la taille de ce champ à 250 comme longueur, mais un mesage d'erreur s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    unsuccessful metadata update
    -key size too big for index UC_TCOMPETENCE_LIBELLE
    Statement failed, SQLCODE = -607
    ceci indique que le nouveau taille est trops long !!
    j'ai essayé avec différents valeur de long jusqu'au arrivé à taille max 80 ! la valeur le plus max possible accepté pour ce type de champ.
    NB: quands j'elimine la contrainte d'unicité ça marche correctement!

    donc, j'ai constaté que qands un champ de type varchar et de contrainte unique avec unicode_fss comme characher set, alors ce champ ne peut avoir au max 80 caractère comme longueur!!! est ce que ceci est vrai ? veuiller me confirmer SVP et merci.

    Grand NB : tout ce qui a été reidgé est traité sous ISQL -i du firebird .

    mais, si j'essaye ceci sous IBExpert ça fonctionne correctement !! n'oubliant pas que Firebird utilise ISQL aussi !!! mais comment ça fonctionne sous firebird et manuellement non !!!! [/code]

  2. #2
    Membre expert

    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2004
    Messages
    2 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 123
    Points : 3 256
    Points
    3 256
    Par défaut
    Salut,

    c'est curieux...
    Essaie de désactiver l'index avant de tenter la modification du champ.
    CV :
    - LinkedIn
    - Viadeo

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 379
    Points : 376
    Points
    376
    Par défaut
    j'ai comme limite avec un firebird 1.5 et des index uniques, 252 caractères pour un varchar

    attention qu'en unicode, si la limite est la même, il ne peux y avoir que 126 caractères dans une colonne avec une contrainte unique.

    pour changer la taille d'une colonne, il est toujours préférable de détruire les index, puis de les reconstruires, cela évite bien des soucis et des questions.

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 142
    Points : 120
    Points
    120
    Par défaut
    pour changer la taille d'une colonne, il est toujours préférable de détruire les index, puis de les reconstruires, cela évite bien des soucis et des questions.
    Tout à fait d'accord.

    Extrait de l'article "Firebird pour les experts - Episode 1 - Les Index
    PAR ANN HARRISSON PUBLIÉ CHEZ IBPHOENIX RESEARCH", sur le site :
    http://firebird-fr.eu.org/ :


    Dans les versions 1.x de Firebird, la longueur totale d’une clé d’index doit être inférieure à 252 octets. Les clés d’index composés et les index avec des séquences de tri non binaires sont encore plus restrictives pour les raisons décrites dans la section sur la compression des clés. Firebird 2 autorise des longueurs de clé jusqu’à 1/4 de la taille de la page, soit un maximum de 4Ko.

Discussions similaires

  1. Max Length des champs sous SQL server
    Par snach dans le forum Développement
    Réponses: 6
    Dernier message: 25/03/2009, 16h42
  2. parse une chaine en sous chaine de longueur max X
    Par bruman dans le forum Langage
    Réponses: 2
    Dernier message: 21/07/2008, 17h12
  3. DTS : longueur des champs doublée sous Vista
    Par Oluha dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/12/2007, 15h20
  4. Créer un champ unique sous Entreprise Manager
    Par Kokito dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/11/2004, 09h54
  5. Champs Time sous Interbase 5
    Par PrinceMaster77 dans le forum InterBase
    Réponses: 3
    Dernier message: 06/04/2004, 21h52

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