نمایش نتایج 1 تا 21 از 21

نام تاپیک: چک کردن نصب بودن Sql server روی سیستم

  1. #1

    چک کردن نصب بودن Sql server روی سیستم

    سلام.. تووی سی شارپ ّا چه دستوری میشه فهمید که sql server روی سیستم نصب هست یا نه ؟
    فک میکنم باید از دستورات رجیستری استفاده کرد.ممنون میشم راهنمایی کنید.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    یکی از راه ها که نرم افزارهای deployment هم از اون استفاده میکنند. بررسی رجستری در این شاخه هست:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server

    برای مثال، برای بررسی SQL Server Express 2005 SP2 باید مقدار Version در شاخه
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion

    برابر با 9.00.3042.00 باشه.

  3. #3
    کاربر دائمی آواتار ghasem110deh
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    تهران
    پست
    1,148

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    سلام
    کدی رو که لطف کردین گذاشتین باید توی program.cs چک بشه با فرم اول برنامه ؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    کدی نگذاشتم که فقط محل ذخیره کلید مربوط به Version رو گذاشتم D: .هر جا لازم به بررسی باشه باید کد مروبط به خوندن مقدار رجیستری اجرا بشه. معمولا اگه در Setup ی که ساخته شده مشخص شده باشه که پیشنیاز نرم افزار چی هست، Setup این بررسی رو انجام میده. اگه نیاز چیز دیگه ای هست، بستگی به اون باید بررسی رو انجام داد و جای مشخصی نداره.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط تبسم ساینا مشاهده تاپیک
    سلام.. تووی سی شارپ ّا چه دستوری میشه فهمید که sql server روی سیستم نصب هست یا نه ؟
    فک میکنم باید از دستورات رجیستری استفاده کرد.ممنون میشم راهنمایی کنید.
    سلام
    پیش‌نهاد می‌کنم دنبال این راه نری. اگه بخوای این کار رو بکنی باید در نظر بگیری که ممکنه یه نفر
    روی دستگاهش SQL Server یا Express Edition یا LocalDb رو نصب کرده باشه که هرکدوم یه جور تنظیمات داره.
    ضمن این که هر کدوم هم نسخه‌های متنوع داره. تازه ممکنه Sql Server نصب باشه، اما سرویس‌اش غیر فعال
    باشه. به علاوه ممکنه کاربر شما Sql Server دیگری رو تو شبکه استفاده کنه.

    صبا صبوحی

  6. #6
    کاربر دائمی آواتار ghasem110deh
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    تهران
    پست
    1,148

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    سلام

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    معمولا اگه در Setup ی که ساخته شده مشخص شده باشه که پیشنیاز نرم افزار چی هست، Setup این بررسی رو انجام میده.
    چطوری و از کجا اینو اعمال کنم ؟ (که اگه sql نصب نبود نصب انجام نشه)
    با اینستال شیلد کار میکنم !

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    پیش‌نهاد می‌کنم دنبال این راه نری.
    پیشنهاد شما چیه ؟
    مثلا من الان بعد از ستاپ سازی و غیره ، روی سیستمی که اس کیو ال نصب نیست برنامه رو نصب میکنم و اجرا میکنم حدود 10 تا 12 ثانیه هنگ میکنه !
    بعد پیغام "عدم خواندن اطلاعات از بانک" رو میده که تو catch نوشتم ؛
    --------------------------------------------------------------------------
    یه سوال دیگه این که راهی هست که بعد از نصب (sql رو کلاینت نصب باشه) دیتابیس خودش اتچ بشه ؟

  7. #7
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط ghasem110deh مشاهده تاپیک
    سلام



    چطوری و از کجا اینو اعمال کنم ؟ (که اگه sql نصب نبود نصب انجام نشه)
    با اینستال شیلد کار میکنم !
    سلام
    فکر کنم این قسمت رو اشتباه از قول من نقل کردی، چون من مطلبی راجع به Setup ننوشته بودم


    پیشنهاد شما چیه ؟
    مثلا من الان بعد از ستاپ سازی و غیره ، روی سیستمی که اس کیو ال نصب نیست برنامه رو نصب میکنم و اجرا میکنم حدود 10 تا 12 ثانیه هنگ میکنه !
    بعد پیغام "عدم خواندن اطلاعات از بانک" رو میده که تو catch نوشتم ؛
    --------------------------------------------------------------------------
    یه سوال دیگه این که راهی هست که بعد از نصب (sql رو کلاینت نصب باشه) دیتابیس خودش اتچ بشه ؟
    پیشنهاد من اینه که همون روش عادی رو انجام بدی، connection string توی config برنامه.
    اون هنگ کردنی که شما می‌گی، در واقع connection timeout هست که می‌تونی زمانش رو کمتر کنی.
    زمان پیش‌فرض یک دقیقه هست که خیلی زیاده، برای کامپیوتر خودت یا حتا شبکه‌های امروزی 5 ثانیه هم کافی هست.
    اما کار دیگه‌ای که می‌تونی انجام بدی که ببینی خطا می‌گیری یا نه، اینه که تو یه thread دیگه ارتباط با sql رو تست کنی تا
    کاربر مجبور نشه منتظر timeout بمونه.

    و برای پرسش بعدی شما
    پیش‌نهاد می‌دم که برنامه‌ی نصب شما، script دیتابیس رو داشته باشه و دیتابیس رو خودش بسازه.
    من مدت‌هاست که این کار رو می‌کنم و از مشکلات و «شر» عدم سازگاری نسخه‌های مختلف sql راحت شدم.
    یا باید با نسخه‌ی پایین کار کنی که بتونی رو نسخه‌های مساوی یا بالاتر attach یا restore کنی، و یا این که
    باید مطمئن باشی که روی دستگاه مشتری حداقل نسخه‌ای مثل نسخه‌ی خودت نصب هست که گاهی عملی نیست.
    من با نسخه‌ی 2014 کار می‌کنم که روی ویندوز xp نصب نمی‌شه.
    کافیه script رو مناسب با حداقل نسخه‌ی قابل پشتیبانی ( انتخاب من نسخه‌ی 2008 هست ) تولید کنی و
    اون رو اجرا کنی.

    صبا صبوحی

  8. #8
    کاربر دائمی آواتار ghasem110deh
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    تهران
    پست
    1,148

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    فکر کنم این قسمت رو اشتباه از قول من نقل کردی، چون من مطلبی راجع به Setup ننوشته بودم
    ببخشید ، نقل قول از plus بود !
    و اینجاست که میگن آدما (خودمو میگم) هر چی بیشتر میرن جلو ، متوجه میشن که هیچی بلد نیستن :)

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    اون هنگ کردنی که شما می‌گی، در واقع connection timeout هست که می‌تونی زمانش رو کمتر کنی.
    زمان پیش‌فرض یک دقیقه هست که خیلی زیاده، برای کامپیوتر خودت یا حتا شبکه‌های امروزی 5 ثانیه هم کافی هست.
    چطور یا از کجا باید زمان رو کم کرد ؟

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    کافیه script رو مناسب با حداقل نسخه‌ی قابل پشتیبانی ( انتخاب من نسخه‌ی 2008 هست ) تولید کنی و
    اون رو اجرا کنی.
    اول اینکه از اسکریپت نویسی هیچی نمیدونم :) --- :(
    دوم اینکه یعنی نباید دیتابیس رو مثل روال الانم (که توی پوشه دیباگ میریزم) باشه و خود ستاپ یه دیتابیس با جدولها و فیلدها و ... ایجاد کنه ؟

  9. #9
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط ghasem110deh مشاهده تاپیک
    چطوری و از کجا اینو اعمال کنم ؟ (که اگه sql نصب نبود نصب انجام نشه)
    با اینستال شیلد کار میکنم !
    در InstallShield بخشی به اسم Prerequsites هست که در اونجا شما میتونید پیش نیاز های برنامه رو از یک لیست تعیین کنید. بقیه کار رو خود InstallSheild انجام میده. یعنی بررسی میکنه که اگه پیش نیاز مورد نظر نصب نباشه نصبش میکنه.

  10. #10
    کاربر دائمی آواتار ghasem110deh
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    تهران
    پست
    1,148

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    ممنون ...
    یعنی خودش یه پیغام میده دیگه ! (به en)
    راهی هست فارسیش کرد ؟
    ------------------------------
    البته ببخشید اگه از بحث اصلی یکم منحرف شدم ...

  11. #11
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    تقریبا همه بخش های InstallShield قابلیت تغییر زبان داره. فارسی سازیش بحث مفصلی داره. در بخش General Information یا در بخش Release میتونید زبان رو تعیین کنید. البته زبان فارسی به صورت پیشفرض نصب شده. باید یا خودتون فارسی کنید یا جستجو کنید نمونه هایی از فایل های فارسیش موجود هست.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط ghasem110deh مشاهده تاپیک
    چطور یا از کجا باید زمان رو کم کرد ؟
    سلام
    تو ConnectionString باید بنویسی ConnectionTimeout=10 مثلاً برای 10 ثانیه
    پیش‌فرض 60 ثانیه هست.

    نقل قول نوشته شده توسط ghasem110deh مشاهده تاپیک
    اول اینکه از اسکریپت نویسی هیچی نمیدونم :) --- :(
    دوم اینکه یعنی نباید دیتابیس رو مثل روال الانم (که توی پوشه دیباگ میریزم) باشه و خود ستاپ یه دیتابیس با جدولها و فیلدها و ... ایجاد کنه ؟
    اول: لازم نیست سکریپت نویسی بدونی، خود Sql Server امکانش رو برات گذاشته. روی دیتابیس کلید راست رو بزن و منوی Task و زیر منوی GenerateScript می‌تونی
    این کار رو انجام بدی ( تو Management Studio ) تنظیمات خوبی هم داره. مثلاً می‌تونی بگی که داده‌ها رو بیاره یا نه، یا این که برای کدوم نسخه‌ی Sql سکریپت بسازه.

    دوم: بله دقیقاً منظورم همینه. این کار بهترین کاره.

    صبا صبوحی

  13. #13
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    براحتی با چک کردن سرویس های ویندوز میتونید از نصب بودن آن باخبر بشید حتی اگر سرویس ران نباشد


    public static bool IsServiceInstalled(string serviceName)
    {
    // get list of Windows services
    ServiceController[] services = ServiceController.GetServices();
    // try to find service name
    foreach (ServiceController service in services)
    {
    if (service.ServiceName == serviceName)
    return true;
    }
    return false;
    }


  14. #14
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    سلام
    دوست عزیز، این روش برای LocalDb جواب نخواهد داد.

    صبا صبوحی

  15. #15

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    سلام
    دوست عزیز، این روش برای LocalDb جواب نخواهد داد.

    صبا صبوحی
    اصلا" راهی نیس که قبل از باز کردن کانکشن بشه چک کرد کاربر به پایگاه داده از نوع Sql حالا چه Localdb چه غیر از اون دسترسی داره یانه؟

  16. #16
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    سلام
    دوست عزیز، این روش برای LocalDb جواب نخواهد داد.

    صبا صبوحی
    اوه بله درست گفتید
    چون بهر حال بعد از نصب هر نسخه ای از sqlserver سرویس اون هم نصب میشه
    در مورد حالت لوکال سرویس نصب نمیشه آیا؟

  17. #17

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    من با این کد تست کردم شد.فک میکنم روی لوکال هم جواب بده:
    DataTable dt = SqlDataSourceEnumerator.Instance.GetDataSources(); 
    if (dt.Rows.Count == 0)
    return false;
    else
    return true;

    کد بالا برای تست کردن نصب بود و این کد هم برا بدست آوردن نام ها :
    foreach (DataRow dr in dt.Rows){
    ddlInstances.Items.Add(string.Concat(dr["ServerName"], "\\", dr["InstanceName"]));
    }

    منبــــــع

  18. #18
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط golbafan مشاهده تاپیک
    اوه بله درست گفتید
    چون بهر حال بعد از نصب هر نسخه ای از sqlserver سرویس اون هم نصب میشه
    در مورد حالت لوکال سرویس نصب نمیشه آیا؟
    سلام
    نه دوست من، دلیلش هم اینه که LocalDb طوری طراحی شده که با اولین تلاش برای استفاده Load می‌شه.
    به همین دلیل هم، همیشه اولین اجرا یه کم کندتر هست.

    صبا صبوحی

  19. #19
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط تبسم ساینا مشاهده تاپیک
    من با این کد تست کردم شد.فک میکنم روی لوکال هم جواب بده:
    DataTable dt = SqlDataSourceEnumerator.Instance.GetDataSources(); 
    if (dt.Rows.Count == 0)
    return false;
    else
    return true;

    کد بالا برای تست کردن نصب بود و این کد هم برا بدست آوردن نام ها :
    foreach (DataRow dr in dt.Rows){
    ddlInstances.Items.Add(string.Concat(dr["ServerName"], "\\", dr["InstanceName"]));
    }

    منبــــــع
    سلام
    دوست عزیز، به نظر من خوب نیست ما فرض کنیم که SQL به صورت Local وجود داره. یعنی اینطوری خودمون
    برای نرم‌افزار خودمون محدودیت بی‌ثمری رو قائل شدیم. همیشه این امکان وجود داره که من از یه Sql Server
    در محیط شبکه استفاده کنم. به همین دلیل بهترین کار تست ارتباط به شکل ایجاد یک SqlConnection و باز و
    بسته کردن اون هست.

    صبا صبوحی

  20. #20

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    به همین دلیل بهترین کار تست ارتباط به شکل ایجاد یک SqlConnection و باز و
    بسته کردن اون هست.
    خب االان اینم لوکال رو شناسایی میکنه دیگه.تووی مثال منبعی که گذاشتم هستش.دستور GetDataSources این کارو نمیکنه ؟!
    یا من اشتباه میکنم ؟!

  21. #21
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: چک کردن نصب بودن Sql server روی سیستم

    راستش من برای نرم افزارهای خودم با بررسی کانکشن این تست رو انجام میدم و بعد با بررسی وجود دیتابیسم که اگر نبود بسازمش
    فوقش 5 ثانیه معطل میشی...

    ولی چون شما راه دیگه ای رو میخوای دوستان جوابهای متفاوتی میدن

تاپیک های مشابه

  1. نصب 2 sql server روی 2 ویندوز یک سیستم
    نوشته شده توسط IsfahanIran1 در بخش مسائل مرتبط با نصب و راه اندازی
    پاسخ: 1
    آخرین پست: دوشنبه 26 اسفند 1392, 19:26 عصر
  2. سوال: چک کردن وجود SQL Server روی سیستم
    نوشته شده توسط probit در بخش C#‎‎
    پاسخ: 7
    آخرین پست: دوشنبه 25 مرداد 1389, 18:56 عصر
  3. آگاهی از وجود یا عدم وجود Sql server روی سیستم از طرق رجیستری
    نوشته شده توسط S_VB.max در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 4
    آخرین پست: سه شنبه 12 خرداد 1388, 14:57 عصر
  4. چک کردن فعال بودن sql server
    نوشته شده توسط ariobarzan در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: چهارشنبه 13 تیر 1386, 09:20 صبح
  5. SQL-Server روی سیستم کاربر
    نوشته شده توسط saeed_d در بخش برنامه نویسی در Delphi
    پاسخ: 11
    آخرین پست: پنج شنبه 06 مهر 1385, 10:01 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •