PDA

View Full Version : اجرای یک اسکریپت sql. در کد برنامه



ariyanna
پنج شنبه 02 تیر 1390, 12:14 عصر
سلام استادان خوبم بازم من و بازم سوال .... :خجالت:
دوستان من همیشه برای برنامه هایی که می نوشتم که با دیتابیس کار می کرد آخرش از دیتابیس backup می گرفتم و مجبور بودم همیشه حداقل یک بارم که شده برم و اونو رو سیستم هدف restore کنم که برنامم کار کنه اما دیگه نمی خوام اینطوری باشه ... این سری برنامم رو جوری نوشتم که تشخیص که داد دیتابیس روی سیستم وجود نداره یا مشکل داره میاد و خودش یک Scrip که توسط sql تولیدش کردم رو اجرا می کنه تا دیتابیس تولید بشه ....
متن Script یک string ساده هستش که اونو می تونم با یک شی SqlCommand و متد ExecuteNoneQuerry() اجرا کنم و اما مشکل :ناراحت:
مشکل اینه که تمام این اشیا که برای ارتباط با پایگاه داده من میشناسم نیاز به یک ConnectionString دارن که باید در اون حتما نام دیتایبس مشخص شده باشه، مثلا اشیاءیی مثل DataAdapter یا SqlCommand یا ... در صورتی که در اسکریپت من هدف اینه که database تولید بشه ! (و نام دیتابیسی وجود نداره چون هنوز تولید نشده !!!) من اسکریپت رو در خود Sql Managemetn Studio اجرا کردم و بدون مشکل database مورد نظرم رو تولید کرد اما برای اینکه از طریق کد این کار رو انجام بدم باید چکار کنم ؟
توضیح اینکه :
من در ConnectionString گزینه Initila catalog رو که در واقع نام دیتابیس رو مشخص میکنه حذف کردم، ظاهرا مشکلی ایجاد نشد......... اما در این حالت برای اجرای Script خطاهای جورواجوری گرفتم ...

Esmail Solhkhah
پنج شنبه 02 تیر 1390, 12:26 عصر
برای ایجاد دیتابیس باید دیتابیس جاری master باشه
use master
و در کانکشن استرینگ یا به نام دیتابیس master اشاره کن یا نام یتابیس رو خالی بزار

ariyanna
جمعه 03 تیر 1390, 11:45 صبح
برای ایجاد دیتابیس باید دیتابیس جاری master باشه
use master
و در کانکشن استرینگ یا به نام دیتابیس master اشاره کن یا نام یتابیس رو خالی بزار

سلام و ممنون دوست عزیز از کمکتون درست می گید باید دیتابیس جاری master باشه، اما در این حالت بازم هم خطاهای متنوعی می گیریم ... البته من این مشکل رو حل کردم و درحال طراحی یک آموزش برای دوستان هستم که به محض آماده شدن روی سایت قرار می دم .... ممنونم از راهنماییتون :لبخندساده: