আমি নিশ্চিত যে এই প্রশ্নের উত্তর ইতিমধ্যে দেওয়া হয়েছে, তবে আমি অনুসন্ধান সরঞ্জামটি ব্যবহার করে কোনও উত্তর খুঁজে পেতে পারিনি।
সি # ব্যবহার করে আমি একটি .sql ফাইল চালাতে চাই। এসকিএল ফাইলটিতে একাধিক এসকিএল স্টেটমেন্ট রয়েছে, যার কয়েকটি একাধিক লাইনের উপর ভেঙে গেছে। আমি ফাইলটিতে পড়ার চেষ্টা করেছি এবং ODP.NET ব্যবহার করে ফাইলটি সম্পাদন করার চেষ্টা করেছি ... তবে আমি মনে করি না এক্সিকিউটননকুইয়ারি সত্যিই এটি করার জন্য ডিজাইন করা হয়েছে।
সুতরাং আমি একটি প্রক্রিয়া তৈরির মাধ্যমে স্ক্যালপ্লাস ব্যবহার করার চেষ্টা করেছি ... তবে আমি যদি সত্যিকার স্ক্যালপ্লাসে সেট ইউজশেলএক্সিকিউটের সাহায্যে প্রক্রিয়াটি তৈরি না করি তবে কখনই প্রস্থান করতে পারত না। এই কোডটি এখানে কাজ করে না।
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();
ওয়েটফরএক্সিট কখনই ফিরে আসে না .... যদি না আমি UseShellExecute টি সত্যে সেট না করি। UseShellExecute এর একটি পার্শ্ব প্রতিক্রিয়া হ'ল আপনি কোনও পুনঃনির্দেশিত আউটপুট ক্যাপচার করতে পারবেন না।