سلام دوستان ،
سناریو شما کاملا ممکنه ولی شرایط استثنا(امیدوارم درست نوشته باشم !) زیاد داره.
1- نسخه SQL Server که شما اسکریپت رو ازش export گرفتین.
2-نوع اتصال و مجوزی که با اون به SQL Server وصل شدین.
و چند مورد دیگه که ممکنه توی کار عملی حالگیری کنن الان دقیق یادم نیست.
و اما پاسخ کلیه سوال شما :
*** فرض رو بر این میگیریم که شما دستابیس خودتون رو ساختین و با استفاده از گزینه Generate Script یک فابل خروجی ساختین و حالا رو سیستم هدف میخواین اجراش کنین***
اول از هر چیز شما باید یک اتصال موفقیت آمیز به SQL Server اون ماشین بزنین.
بعد دستورات رو از فایل اسکریپ جداسازی کنین و بعد اجرا کنین.
دقت کنین این مثال کاملا آموزشی هستش حالت های زیادی ممکنه وجود داشته باشه که شما خطا دریافت کنین مثل وجود کامنت توی فایل اسکریپت ، سعی میکنم نمونه صنعتی و کاملا کاربردیشو تا چند روز دیگه در قالب سورس پخش کنم.
string _sql_script = File.ReadAllText("test.sql");
string[] _queries = _sql_script.Split(new[] { " GO " ," Go " , "GO" , "Go"}, StringSplitOptions.RemoveEmptyEntries);
SqlConnection _con =
new SqlConnection("رشته اتصال");
SqlCommand _cmd = new SqlCommand("query", _con);
try
{
_con.Open();
}
catch(Exception ex)
{
MessageBox.Show("خطا در اتصال به سرور SQL" + ex.Message);
}
try
{
foreach (string query in _queries)
{
if (query.Length != 0)
{
_cmd.CommandText = query;
_cmd.ExecuteNonQuery();
}
}
}
catch(Exception ex)
{
MessageBox.Show("خطا در اجرای دستورات SQL" + ex.Message);
}
finally
{
_con.Close();
}