我的 sql 文件包含
`SPOOL &1;
//sql code to execute
SPOOL OFF;`
使用 SQL Plus 执行 sql 文件,并使用 Process.Start 从 C# 代码调用 SQL Plus... 代码片段
`var m_StartInfo = new ProcessStartInfo();
m_StartInfo.FileName = "SQLPLUS.EXE";
m_StartInfo.CreateNoWindow = true;
m_StartInfo.UseShellExecute = false;
m_StartInfo.Arguments = String.Format("{0}\"{1}\" \"{2}\"", connectionString, sqlfile, sqlLogFileName);
m_Process = Process.Start(m_StartInfo);
Other code.....`
它工作正常,并且在 sqlLogFileName 位置创建了 sqlplus 日志。但是,如果 sqlLogFileName 之间有空格(比如“C:\My Application\log.txt”),则不会创建日志文件,而是在 SQL Plus 窗口上给出错误 SP2-0768 Illegal SPOOL 命令
任何建议如何解决这个问题?我正在使用 Oracle 11GR2