Не знам C#, но предполагам, че можете да изпращате само отделни SQL изрази или PL/SQL блокове, а не списък, разделен с точка и запетая. Във всеки случай, exec
не е нито едно от двете (това е SQL*Plus пряк път, поддържан от някои IDE.)
Вероятно трябва да изпратите отделни команди като нещо като:
create directory test_dir as 'C:\\'
и
begin run_query('SELECT {1} FROM {2} {3} ORDER BY {4}','TEST_DIR','{5}'); end;
(Забележете, че PL/SQL използва точка и запетая, но SQL няма собствен терминатор на израз, въпреки че инструментите често изискват символ за терминация и точката и запетая често е по подразбиране.)