Jag kan inte C# men jag antar att du bara kan skicka enskilda SQL-satser eller PL/SQL-block, inte en lista separerad med semikolon. I alla fall exec
är varken (det är en SQL*Plus-genväg som stöds av vissa IDE.)
Du behöver förmodligen skicka separata kommandon som något i stil med:
create directory test_dir as 'C:\\'
och
begin run_query('SELECT {1} FROM {2} {3} ORDER BY {4}','TEST_DIR','{5}'); end;
(Obs PL/SQL använder semikolon men SQL har ingen inbyggd satsterminator, även om verktyg ofta kräver ett terminatortecken och semikolon är ofta standard.)