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

SQL Oracle Discussion :

Taille limite du texte d'une requête SQL Oracle


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut Taille limite du texte d'une requête SQL Oracle
    Bonjour,
    J'essaie de rassembler plusieurs requêtes existantes en une seule et je me retrouve confronté à un message d'erreur de l'application indiquant que je ne dois pas dépasser 4000 caractères dans le texte de la requête SQL.

    C'est une limite imposée par l'application ou par Oracle ?

    En cherchant un peu, j'ai trouvé ce message qui indique une taille limite de 64 ko. C'est confirmé ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 952
    Par défaut
    4000 ça ressemble plus à la limite du varchar2.
    Logical Database Limits
    Note:
    The limit on how long a SQL statement can be depends on many factors, including database configuration, disk space, and memory
    maximum length of sql statement

    Quel est l'outil utilisé ?

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Il semble que c'est un poil plus compliqué (Logical Database Limits)
    Note:

    The limit on how long a SQL statement can be depends on many factors, including database configuration, disk space, and memory
    Mais rassurer vous je pense que vous est en train de tapper dans la limite du varchar2 (Datatype Limits)

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Pas impossible effectivement que la requête soit stockée en BDD et donc dans une colonne potentiellement en varchar2.

    Merci pour la réponse.

    Je vais essayer de simplifier la requête, maintenant que je comprends mieux son architecture à force de la triturer et de rassembler les morceaux qui viennent de plusieurs états de gestion.

    J'ai 123 caractères de trop ; au pire, je créerai une vue pour simplifier la requête.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Le mieux serait quand même de stocker dans un clob. Peut-être qu'un jour la base passera en UTF-8, et certaines requêtes dépasseront le VARCHAR(4000)...

    Sinon, les tables sont plutôt faites pour stocker des données. Des requêtes, c'est du code. Ça peut se stocker dans des vues, dans des procédures stockées,...

    Cordialement,
    Franck.

  6. #6
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 952
    Par défaut
    Citation Envoyé par pachot Voir le message
    Sinon, les tables sont plutôt faites pour stocker des données
    Sur ce point je pense sans trop m'avancer que cinephil n'est qu'un domage colatéral de plus dans ce monde merveilleux et pourtant si souvent horriblement mal modélisé qu'est l'IT...

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si la requetes est stockée dans un Varchar (paix à son âme), tu as eventuellement la possibilité de changer le type de la colonne en LONG, c'est moche, oracle te dira que c'est pas bien, mais au moins, c'est coompatible au niveau applicatif avec du varchar2 (ce qui n'est pas le cas de CLOB qui nécessite des appels spécifique du coté de l'application).

Discussions similaires

  1. comment insérer une valeur provenant d'un champs texte dans une requête SQL
    Par carlostropico dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 02/12/2009, 14h38
  2. [SQL-Server] Taille limite des résultats d'une requête
    Par AllezTFC dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/05/2008, 21h03
  3. Réponses: 6
    Dernier message: 23/04/2007, 15h21
  4. limitation de caractére dans une requête SQL sous Acces
    Par amka dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 18/08/2006, 15h15
  5. Réponses: 4
    Dernier message: 14/12/2004, 14h34

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