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();
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.