Pro*c/c++ et DDL

Pro*c/c++ et DDL - SQL/NoSQL - Programmation

Marsh Posté le 15-12-2004 à 09:31:31    

Bonjour à tous  ;) ,
 
En essayant de passer dans le precompilo Oracle Pro*c/c++ un ordre SQL du type :
 
EXEC SQL CREATE ROLE :role_name;
 
celui-ci me renvoi l'erreur "PCC-S-02206, les variables hôtes ne sont pas autorisées dans une instruction DDL".
 
Quelqu'un connaitrait t'il un moyen de contourner cette limitation ?
Accessoirement, est-ce que que qqun connait la raison de cette limitation ?
 
Merci d'avance.

Reply

Marsh Posté le 15-12-2004 à 09:31:31   

Reply

Marsh Posté le 15-12-2004 à 11:42:34    

- Ta variable role_name est bien définie dans un bloc SQL ?
- Il me semble qu'il y a des limitations sur l'endroit où on peut 'binder' des variables en Pro*C. Au pire tu devrais pouvoir construire ta requête en faisant un sprintf par exemple, et en faisant :
 

Code :
  1. char[1000] query;
  2. sprintf(query, "EXEC SQL CREATE ROLE %s", role_name);
  3. EXEC SQL PREPARE q FROM :query;
  4. EXEC SQL EXECUTE q;

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed