PDA

View Full Version : سوال: ساخت دیتابیس بر روی سیستم مشتری زمان اجرای برنامه



rezarko
چهارشنبه 25 بهمن 1391, 16:32 عصر
سلام. من کد دیتابیس و تمام تیبل ها و Proc هام رو دارم. میخوام برای اولین بار که برنامه روی سیستم مشترب اجرا میشه دیتابیس ساخته بشه.
با تشکر

saeedgholami
چهارشنبه 25 بهمن 1391, 17:27 عصر
سلام
شما باید در قسمت Query ابتدا دستور ساخت دیتابیس سپس دستور ساخت جدول و بعد دستور ساخت Proc رو اجرا میکنید دیتابیس با اون جدول ها و Proc ها ایجاد میشه
موفق باشید

rezarko
چهارشنبه 25 بهمن 1391, 17:31 عصر
میدونم ولی چه طوری تو سی شارپ این کد ها رو اجرا کنم؟

rezarko
پنج شنبه 26 بهمن 1391, 23:23 عصر
دوستان کسی نیست جواب بده؟؟

علی فتحی
دوشنبه 19 شهریور 1397, 01:04 صبح
نه خدایی کسسی نیست منم خیلی وقته دنبالشم

ShayanFiroozi
دوشنبه 19 شهریور 1397, 08:04 صبح
سلام دوستان ،

سناریو شما کاملا ممکنه ولی شرایط استثنا(امیدوارم درست نوشته باشم !) زیاد داره.

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();
}