|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() |
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 de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 ! |
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : août 2008 Messages : 1 690 ![]() |
4000 ça ressemble plus à la limite du varchar2.
Logical Database Limits Citation:
Quel est l'outil utilisé ? |
|
|
|
20
|
|
|
#3 | |
|
Expert Confirmé Sénior
![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 4 104 ![]() |
Il semble que c'est un poil plus compliqué (Logical Database Limits)
Citation:
|
|
|
|
00
|
|
|
#4 |
![]() ![]() |
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 de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 ! |
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() ![]() Franck PachotConsultant DBA en Suisse (Trivadis SA) Inscription : novembre 2007 Messages : 987 ![]() |
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.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : août 2008 Messages : 1 690 ![]() |
|
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() ![]() |
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).
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
00
|
|
|
#8 |
![]() ![]() |
Pour vous éviter de chercher des raisons obscures et critiques sur le mystère du stockage de la requête en BDD, il s'agit d'un module de l'ERP qui permet à l'utilisateur de sélectionner des états de gestion pré-définis en sortie .xls ou PDF via Jasper Reports.
En tant qu'administrateur, on peut ajouter ou modifier directement les états existants via l'interface du logiciel. Il y a une fenêtre avec une zone de texte pour éditer la requête et uploader le masque de tableur de l'état, quand c'est une sortie en .xls. Voilà pourquoi la requête est stockée en BDD quelque part et non pas transformée en une vue. L'application ne change pas la BDD, elle l'alimente. Il y aurait des choses à dire sur le modèle de données de cet ERP plus importantes à mon avis que ce choix de stocker des requêtes paramétrées d'états dans une colonne de table, lequel n'est pas de mon fait. J'essaie de travailler avec l'existant tout simplement. J'ai encore une quarantaine de caractères en trop. Vu que j'en ai d'autres à faire, je pense que je ferai lundi directement quelques vues qui seront appelées par la requête afin de réduire la taille de celle-ci. Merci de vos réponses en tout cas.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 ! |
|
00
|
Copyright © 2000-2013 - www.developpez.com