PDA

View Full Version : آیا باید SqlServer رو نصب کنم ؟!!!



مهدی رحیم زاده
شنبه 30 شهریور 1387, 22:31 عصر
سلام
من می خوام وقتی که برای برنامم Setup ایجاد می کنم خودش فایل های لازم رو هم نصب کنه . هیچ مشکلی با اینایی که گفتم ندارم اما نمی دونم چطور باید Sql Server2000 رو نصب کنم . میشه یکی از دوستان لطف کنه و توضیح بده چطور اینکار رو انجام بدم ؟ در ضمن من از VS برای ساخت Setup استفاده می کنم . و اینکه میشه با خود Setup و در هنگام نصب بانک رو Attach کرد ؟؟
ممنون

esmartiz_red
شنبه 30 شهریور 1387, 22:40 عصر
بله کارایی که گفتید می شه ولی راحترین کار استفاده از installsheild
شما با ساخت setup به وسیله این نرم افزار هم می تونید پیش نیازهای اجرای نرم افزارتون رو نصب کنید و هم می تونید database مورد نظرتون رو attach کنید

amin3271
شنبه 30 شهریور 1387, 23:28 عصر
خوب دوست من اینهایی رو که شما گفتید تقریبا همه می دونن که ساختن setup با installshield مشکلات بالا رو حل می کنه البته این رو هم می دونن که کار با installshield هم مشکلات خاص خودش از قبیل غیر فعال بودن مرحله سوم ساخت setup در صورت نصب نشدن برخی کامپوننت ها رو داره
با این توصیفات اگه دوستمون نخواد از installshield استفاده کنه به نظر من باید نسخه sqlserver Desktop engine یا همون(MSDE) رو همراه برنامه اش بطور جداگانه نصب کنه

esmartiz_red
شنبه 30 شهریور 1387, 23:36 عصر
ببخشید دوست عزیز از این به بعد قبل از اینکه به سوالی جواب بدم یه نظر سنجی می کنم ببینم چند نفر جوابشو می دونن چند نفر نمی دونن بعد جواب می دم

مهدی رحیم زاده
یک شنبه 31 شهریور 1387, 06:23 صبح
ببخشید دوست عزیز از این به بعد قبل از اینکه به سوالی جواب بدم یه نظر سنجی می کنم ببینم چند نفر جوابشو می دونن چند نفر نمی دونن بعد جواب می دم
دوست عزیز
ممنونم بابت جوابتون اما من می خوام که این کار رو با VS انجام بدم نه با InstallShield . و فکر کنم بهتر بود به این سختی جواب دوستمونو نمی دادین .
ایشون اینو گفتن چون در مورد این موضوع قبلا توی سایت بحث شده و در مورد InstallShield هم توضیحات گفته شده . اما من چون نتونستم از اونا برای کار با VS استفاده کنم اینو مطرح کردم .
در هر صورت ممنون اما من هنوز جوابمو نگرفتم .
نصب MSDE هم مد نظرم بود ، اما می خوام ببینم راه دیگه ای هم هست که خود VS اونو پیشنهاد کنه ؟؟؟؟
با تشکر

Alen
یک شنبه 31 شهریور 1387, 08:44 صبح
iranmsb عزيز اين رو به عنوان يه سوال از شما مي پرسم(نه جواب) ببخشيد كه اين جا ازتون ميپرسم (جاي بهتري پيدا نكردم) دليل عدم استفادتون از sqlexpress چيه؟

razavi_university
یک شنبه 31 شهریور 1387, 10:02 صبح
تا قبل از VS2005 برای برنامه هایی که از SQL استفاده می کردند و ازSQL Server استفاده نمی کردند MSDE پیشنهاد می شد
اما بعد از آن در VS2005 و VS2008 برای کار با دیتابیس بدون SQL Server از SQLExpress و SQLCompact استفاده می شود که امکانات بالاتری دارد. (فایلهای SQL2000 رو هم پشتیبانی می کنه)
برای ساختن نصب به کمک VS می تونین به عنوان پیشنیازها SQLExpress رو انتخاب کنین و بعد از نصب دیتابیس رو Attach کنین

Alen
یک شنبه 31 شهریور 1387, 10:15 صبح
حالا اگه بخواهيم SQL Server 2005 يا 2008 همراه با برنامه نصب شه تكليف چيه؟
بايد چي كار كنيم كسي ميدونه؟

سار
یک شنبه 31 شهریور 1387, 12:00 عصر
اگر قصد شما نصب خود SQL Server هست باید بگم بهتر روی Installshield کار کنید. من جزییاتش رو نمیدونم ولی میدونم که این کار شدنی هستش.

amin3271
یک شنبه 31 شهریور 1387, 16:05 عصر
اگه بخواهیم با install shield کار کنیم چطور صفحه Application Redistributables رو فعال کنم؟
اگه راهی غیر از دانلود از اینترنت دارید پیشنهاد کنید.
در صورتی هم که بخوام از اینترنت دانلود کنم دقیقا بهم بگید چی رو باید از اینترنت بگیرم؟

Alen
سه شنبه 02 مهر 1387, 12:55 عصر
سوالي كه اينجا به نظر من ميرسه اينه كه
قدرت sql express در مقايسه با sql server چه قدره؟
آيا ميشه به sql express براي كارهاي سنگين تر
يه عنوان مثال كارهاي شبكه ي اطمينان كرد؟

razavi_university
سه شنبه 02 مهر 1387, 16:11 عصر
بستگی به نیاز شما داره
http://blogs.msdn.com/sqlexpress/default.aspx

amin3271
سه شنبه 02 مهر 1387, 20:36 عصر
تا قبل از VS2005 برای برنامه هایی که از SQL استفاده می کردند و ازSQL Server استفاده نمی کردند MSDE پیشنهاد می شد
اما بعد از آن در VS2005 و VS2008 برای کار با دیتابیس بدون SQL Server از SQLExpress و SQLCompact استفاده می شود که امکانات بالاتری دارد. (فایلهای SQL2000 رو هم پشتیبانی می کنه)
برای ساختن نصب به کمک VS می تونین به عنوان پیشنیازها SQLExpress رو انتخاب کنین و بعد از نصب دیتابیس رو Attach کنین

یعنی اگه برنامه با VS2005 نوشته شده باشه و بانک اون با SQL Server2000 ساخته شده باشه وبخوام setup اون رو با VS2005 بسازم کافیه برای نصب SQl server از SQL Express Edition استفاده کنم؟ (بدون اینکه Connection string ها رو تغییر بدم)
یعنی فایلهای SQLSrver2000 رو ساپورت می کنه؟

esmartiz_red
چهارشنبه 03 مهر 1387, 00:31 صبح
بله دوست من برای کار با بانکت کافیه و احتیاج به نصب کامل Sql server نیست مگه یکسری امکانات بخوای که اون نتونه ارائه بده

Alen
چهارشنبه 03 مهر 1387, 10:17 صبح
یعنی اگه برنامه با VS2005 نوشته شده باشه و بانک اون با SQL Server2000 ساخته شده باشه وبخوام setup اون رو با VS2005 بسازم کافیه برای نصب SQl server از SQL Express Edition استفاده کنم؟ (بدون اینکه Connection string ها رو تغییر بدم)
یعنی فایلهای SQLSrver2000 رو ساپورت می کنه؟

دوست عزيزم اگه بخواي به جاي SQL Server از نسخه Express استفاده كني بايد تو connection string ذكر كني كه نسخه express هستشي
يه چيزي شبيه اين


Integrated Security=SSPI;Persist Security Info=False;Data Source=.\sqlexpress

amin3271
چهارشنبه 03 مهر 1387, 19:18 عصر
ببینید من connection string رو هم عوض کردم یعنی از . به SQLEXPRESS\\. به صورت زیر


string constr = "Data Source=.\\SQLEXPRESS;Initial Catalog=personeli;Integrated Security=True";

اما موقعی که برنامه رو اجرا می کنم قبل از اینکه فرم login برنامه ام لود بشه از برنامه بیرون می زنه وپیغام میده

Cannot open database "personeli" requested by the login. The login failed.
Login failed for user 'TEYF-9A8AC481EC\Admins'.

Alen
چهارشنبه 03 مهر 1387, 22:23 عصر
من فکر کنم تنظیمات Sql Express داره چون من خودم خیلی این کارو کردم با اضافه کردن اون express پایگاه داده ای روکه تو server طراحی کرده بودم تو نسخه express استفاده کردم .
آیا هر دو نسخه express و server بر روی یک سیست نصب هستند؟(که تا اونجا که من میدونم اینم مشکلی نداره)
سعی کن یه کاربر خاص تعریف کنی وبا استفاده از اون به پایگاه داده متصل بشی
اگه پایگاه داده رو اینجا بذاری (mdf,ldf رو) میتونم رو سیستم خودم تستش کنم
نتیجه رو بهت بگم

amin3271
چهارشنبه 03 مهر 1387, 23:43 عصر
خیلی ممنونم
باشه اینم از پایگاه داده

Alen
پنج شنبه 04 مهر 1387, 10:41 صبح
دوست عزيز من پايگاه داده شما رو تو SQL Express‌
attach كردم و با اين connection string


string connectstr="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=personeli;Data Source=.\\sqlexpress";

بدون هيچ مشكلي connect‌شدم
پس به نظر من پايگاه داده هاي ديگه تو (كه تو express وجود دارند)رو واسه connect شدن چك كن
اگه همين مشكل رو داشتن
مشخص ميشه مشكل از Express شما هستش و بايد تنظيماتش درست بشه و يا reinstall بشه
موفق باشي

amin3271
جمعه 05 مهر 1387, 00:15 صبح
میبخشید میشه طریقه attach کردن به SQLEXPRESS رو برام بگی ببینم آیا همونی است که من انجام میدم یا نه؟
باتشکر

Alen
جمعه 05 مهر 1387, 12:30 عصر
اگه از طریق Management studio بخواهی عمل کنی که از مسیر زیر
Databeses->attach->add و الا آخر
ولی اگه بخواهی میتونی اسکریپتی مثل اسکریپت زیر رو بکار ببری


command.CommandText =" CREATE DATABASE [dbkanon] ON "+
" ( FILENAME = N'C:\\Inetpub\\wwwroot\\App_Data\\SepantaIlia_dbKa non.MDF' ),"+
" ( FILENAME = N'C:\\Inetpub\\wwwroot\\App_Data\\SepantaIlia_dbKa non_Log.LDF' )"+
" FOR ATTACH";

که که میتونی واسه اجرای این اسکریپت هم به پایگاه داده Master متصل بشی
شما اصلا الان میتونی به پایگاه داده Master نسخه Express کانکت بشی؟

amin3271
جمعه 05 مهر 1387, 16:56 عصر
من تنها sql server 2005 همراه با VS005 روی سیستمم نصب هست . آیا می تونم به اون چیزی رو attach کنم. اگه میشه چطوری؟

razavi_university
جمعه 05 مهر 1387, 19:57 عصر
اون SQLExpressاست
Attach به اون فرقی با SQLServer نداره فقط اسم سرور در connectionString باید SqlExpress بگذاری
بهتره اول اجرای برنامه (وقتی Splash رو نشون میدی) چک کنین دیتابیس Attach شده یا نه اگر نبود اون رو Attach کنین
کد:


SqlCommand com = new SqlCommand("select * from sys.databases where name= 'DBName'", con);
con.Open();
object obj = com.ExecuteScalar();
if (obj == null)
{

string strCmd = "EXECUTE sp_attach_db @dbname,@filename1";
com.CommandText = strCmd;
com.Parameters.Clear();
com.Parameters.AddWithValue("@dbname", "DBName");
com.Parameters.AddWithValue("@filename1", Application.StartupPath + @"\DataBase\DBName.mdf");
com.ExecuteNonQuery();

com.CommandText = "select * from sys.databases where name= 'Vehicles'";
obj = com.ExecuteScalar();
if (obj != null)
{
MessageBox.Show("بانک اطلاعاتی با موفقیت بارگزاری شد");
}
}

amin3271
جمعه 05 مهر 1387, 23:48 عصر
به صورت ویزاردی هم میشه attach به sqlexpress رو انجام داد؟
چگونه؟
لطفا طریقه dettach کردن از sqlexpress رو هم توضیح دهید؟

razavi_university
شنبه 06 مهر 1387, 14:23 عصر
SQLExpress برای انجام عملیات خود Management Studio ندارد ولی اگر SQLServer2005 را نصب کرده اید میتونین از Management Studio اون واسه اینکار استفاده کنین، فقط در هنگام اتصال (ابتدای کار) نام سرور را به صورت زیر وارد نمایید


(local)/SQLExpress

البته در Server Explorer که در VS است هم تا حدودی می تونین کارهای مدیریتی رو انجام بدین