Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1471 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQLPlus] Erreur SP2-0027, requêtre trop longue? Comment s'en prémunir

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQLPlus] Erreur SP2-0027, requêtre trop longue? Comment s'en prémunir

n°2271459
weed
Posté le 12-12-2015 à 23:56:09  profilanswer
 

Hello tout le monde,  
 
Je m'initie à SQL plus pour extraire des données d'une base vers un fichier. Je trouve 2 avantages :  
- cela prends moins ressources sur mon poste client que Toad
- cela écrit directement le fichier (avec la fonction pool à mettre dans son fichier .sql) alors que sous Toad, c'est en 2 étape, affiche puis après une 2ème action pour enregistrer
 
 
Mais il y a beaucoup de contrainte sous SQL Plus. On ne peux pas laisser de ligne vide pour avoir une requêtre plus lisible, plus aéré sinon erreur.  
 
Et dernièrement j'ai l'erreur  SP2-0027 par soit disant ma commande SQL  
http://www.snehashish.com/sp2-0027 [...] e-ignored/
 
Il est vrai que ma requete est assez longue d'autant plus que je peux faire une selection de pas mal de valeur avec l'opérateur IN. A partir de 200-300 valeurs, SQL plus commence à générer ce type d'erreur.  
Dans l'url que j'ai mise, il conseille d'utiliser || pour couper la requete en plus ligne.  
 

Code :
  1. insert into t values(‘string of length -2499‘||
  2. ‘string of length 2499′ ||
  3. ‘….’);


ok, je peux comprendre quand il s'agit de chaine de caractère comme dans leur exemple, mais lorsqu'il s'agit d'une longue requete SQL avec pas mal de nom de champs, je vois pas comment je peux utiliser l'opérateur de concaténation.  
 
La seul solution que je vois, est que je génére automatiquement des fichiers .SQL avec une moindre sélection de valeur dans mon IN et je lance succésivement les fichiers .SQL dans un fichier .bat.

mood
Publicité
Posté le 12-12-2015 à 23:56:09  profilanswer
 

n°2271771
olivthill
Posté le 16-12-2015 à 17:51:23  profilanswer
 

Ce message peut apparaître pour plusieurs cas différents, pas seulement celui d'une chaine trop longue.
 
Par exemple, je crois me souvenir de l'avoir eu, parce que j'avais une apostrophe dans une chaine. Dans ce cas, la solution était de doubler l'apostrophe.
Une autre erreur était d'avoir un ampersand (& ), que j'ai dû remplacer par autre chose.
 
D'autre part, puisqu'il est question de fichier ".bat", il semble qu'une console DOS soit utilisée. Dans ce cas, il faut aussi prendre en compte la limitation de la longueur d'une commande DOS qui est de 8191 caractères sous Windows XP et plus.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQLPlus] Erreur SP2-0027, requêtre trop longue? Comment s'en prémunir

 

Sujets relatifs
Erreur de compilation, incompatibilité de typeERREUR SEGMENTATION CORE DUMPED
[PERL] CGI retourner un code erreurFreeMem() provoque une erreur sans plantage
Erreur SQL ( Oracle ) 00936Erreur 183 sur un CopyFile()
erreur code php pour accès localhost[SQL Server] Insert - erreur "Illegal data"
Automate & Minimisation - ou est l'erreur ?erreur php génère 404 et non inscription avec MLM
Plus de sujets relatifs à : [SQLPlus] Erreur SP2-0027, requêtre trop longue? Comment s'en prémunir


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR