Saya yakin pertanyaan ini sudah dijawab, namun saya tidak dapat menemukan jawaban menggunakan alat pencarian.
Menggunakan c # Saya ingin menjalankan file .sql. File sql berisi beberapa pernyataan sql, beberapa di antaranya rusak karena beberapa baris. Saya mencoba membaca dalam file dan mencoba mengeksekusi file menggunakan ODP.NET ... namun saya tidak berpikir ExecuteNonQuery benar-benar dirancang untuk melakukan ini.
Jadi saya mencoba menggunakan sqlplus melalui pemijinan sebuah proses ... namun kecuali saya memunculkan proses dengan UseShellExecute yang disetel ke sqlplus sejati akan hang dan tidak pernah keluar. Berikut kode yang TIDAK BEKERJA.
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 tidak pernah kembali .... Kecuali saya mengatur UseShellExecute menjadi true. Efek samping dari UseShellExecute adalah Anda tidak dapat menangkap output yang dialihkan.