Je ne connais pas C # mais je suppose que vous ne pouvez envoyer que des instructions SQL individuelles ou des blocs PL/SQL, pas une liste séparée par des points-virgules. Dans tous les cas, exec
n'est ni l'un ni l'autre (il s'agit d'un raccourci SQL*Plus pris en charge par certains IDE.)
Vous devez probablement envoyer des commandes séparées comme quelque chose comme :
create directory test_dir as 'C:\\'
et
begin run_query('SELECT {1} FROM {2} {3} ORDER BY {4}','TEST_DIR','{5}'); end;
(Notez que PL/SQL utilise des points-virgules, mais SQL n'a pas de terminateur d'instruction natif, bien que les outils nécessitent souvent un caractère de terminaison et que le point-virgule soit souvent la valeur par défaut.)