Estoy seguro de que esta pregunta ha sido respondida ya, sin embargo, era incapaz de encontrar una respuesta utilizando la herramienta de búsqueda.
El uso de c# me gustaría ejecutar un .archivo sql. El archivo sql que contiene varias instrucciones sql, algunos de los cuales se divide en varias líneas. Traté de lectura en el archivo y trató de ejecutar el archivo con ODP.NET ... sin embargo no creo que ExecuteNonQuery está realmente diseñado para ello.
Así que he intentado utilizar sqlplus a través de un proceso de desove ... sin embargo, a menos que me generó el proceso con UseShellExecute establece en true sqlplus se cuelgan y no salga nunca. Aquí está el código que NO funciona.
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "sqlplus";
p.StartInfo.Arguments = string.Format("xx/xx@{0} @{1}", in_database, s);
p.StartInfo.CreateNoWindow = true;
bool started = p.Start();
p.WaitForExit();
WaitForExit nunca vuelve.... A menos que me puse UseShellExecute a la verdad. Un efecto secundario de UseShellExecute es que usted no puede capturar el redirige la salida.
Esta debe ser una cosa común a hacer, tengo la esperanza de que alguien tiene una solución para esto.
Gracias
Rica