Мне понадобилось время, чтобы понять, как заставить все это работать, поэтому вот результат моих исследований:
c # код:
ORAUtils.execString(@"c:\tmp.sql 'Oracle sucks!'");
...
using System.Diagnostics; -- where the Process stuff lives
...
public static int execString(string scriptFileName)
{
...
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = "sqlplus.exe";
processInfo.Arguments = "user/pwd@db @" + scriptFileName;
...
Process process = Process.Start(processInfo); // typo in code above small p instead of caps helps
...
Результирующая командная строка:
sqlplus.exe user / pwd @ db @c: \ tmp.sql 'Oracle сосет!'
Тип sqlplus /? в командной строке, и вы получите синтаксис:
sqlplus
Здесь logon = user / pwd @ db и start = @ c: \ tmp.sql 'Oracle сосет!'
Он запустит файл sql и передаст ему строку параметров.
tmp.sql первая строка:
подсказка & 1
отобразит строку параметров.
Thx