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

Développement SQL Server Discussion :

Nombre de caractères retournés par un select


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Par défaut Nombre de caractères retournés par un select
    Bonjour,

    Je suis face à un petit problème lors d'un select sous une base SQL Server (.
    Je possède un champs de type varchar(500), qui contient des données de taille assez importantes (250-300 caractères).

    Lorsque j'effectue un select sur ces données, je m'aperçois que le résultat est tronqué (288 caractères semble t'il).
    Après vérification en base, il s'avère que le résultat est bien complet dans la base (un substring en partant du 100ème caractère renvoie bien la fin de la chaîne), et c'est donc bien le select qui me tronque le résultat.

    Ma première question est toute bête : est ce normal ?
    Ma seconde question est toute logique : puis-je résoudre ce problème sans passer par une rustine de code ?

    Merci d'avance.

  2. #2
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Ton select est-il directement sur la base ou est-ce que tu passes par une procédure, table temporaires etc ?
    Dans ce cas il faut vérifier s'il y a table temporaire et utilisation de champs non déclarer explicitement. Peut être essayer alors un VARCAHR(MAX) pour être sûr que ça passe.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Par défaut
    A vrai dire le select initial était en php, et les tests effectués (même requête qu'en php puis en ajoutant le substring) directement en base, via l'analyseur de requête.

    J'ai tenté depuis de basculer le champs en type text, ce qui n'a absolument rien changé.
    Je suis en train de me dire qu'il doit certainement s'agir d'un mauvais paramétrage de SQL Server, mais quant à savoir lequel .

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Par défaut
    Après grattage dans les options il s'avère qu'il s'agissait d'un bridage de l'analyseur de requêtes, qui renvoyait 256 caractères maximum.
    Le problème doit donc se situer au niveau de php et non de SQL Server

    NOTA : j'ai fini par trouver (enfin grâce à un collègue ^^) l'origine du problème.
    Il s'agit d'un bug de php qui bride les champs de type varchar sous SQL Server à 255 caractères.
    La solution consiste dans ce cas à effectuer deux SUBSTRING, ou bien un double CAST.
    J'ai utilisé la première méthode qui se révèle efficace, mais ce genre de petit détail est toujours bon à savoir.

Discussions similaires

  1. nombre de lignes retournées par un select en PDO
    Par laurentSc dans le forum Langage
    Réponses: 2
    Dernier message: 04/02/2014, 23h42
  2. limiter le nombre de lignes retournées par un select
    Par l.saladdin dans le forum MySQL
    Réponses: 1
    Dernier message: 18/02/2010, 16h56
  3. Réponses: 1
    Dernier message: 28/11/2007, 09h13
  4. Compter le nombre d'enreg retournés par un DBExtract
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 02/11/2004, 14h15
  5. nombre de caractère retourné...
    Par sonialem2000 dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/08/2004, 04h06

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