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

نام تاپیک: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

  1. #1

    مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    با سلام خدمت دوستان،
    در مورد اجرا شدن برنامه در هنگام بالا آمدن ویندوز و اضافه کردن به رجیستری مطالب زیادی وجود دارد، و براحتی فایل های exe در startup اجرا میشوند، ولی درصورتیکه برنامه یک سری اطلاعات از sql بخواند error بوحود میاد.
    در برنامه ی من از sqlexpress 2008 استفاده شده، تصویر error را گذاشتم، فقط جالب اینجاست این مسئله ربطی به زمان گذشتن از بالا آمدن ویندوز نداره، چون برنامه واسطی قرار دادم تا برنامه مشکل دارم که از sql میخونه بعد از 10 دقیقه از شروع کار ویندوز باز کنه ولی باز همین error را داد
    ممنون میشم راهنماییم کنید
    عکس های ضمیمه عکس های ضمیمه

  2. #2

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    رو سیستم .Net Framework چند نصب کردی.؟ و ظاهرا پیغام میگه که فایل دیگری همنام دیتابیس وجود داره. نامی دیتابیس رو عوض کن ببین مشکلت حل میشه؟

  3. #3

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    netframfork4، نه دوست عزیز اگر مشکل این بود موقعی که فایل exe بصورت عادی با کلیک اجرا میشد باز ایراد میگرفت ولی اینطور نیست به درستی اجرا میشه

  4. #4

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    دوستان ممنون میشم اگه برنامه ای رو خود شما بصورت خیلی ساده بنویسید که از sql express اطلاعات بخونه و در startup اجرا شه، بعد ببینیم شما هم به این مشکل بر میخورید یا نه

  5. #5

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    برنامه باید صبر کنه تا پروسس sqlserver ران بشه بعد ازش اطلاعات دریافت کنه.
    یک راه اینه که ترد رو sleep کنید تا پروسس اجرا بشه:

    bool isRun;
    public FrmMain()
    {
    InitializeComponent();

    while (!isRun)
    {
    Process[] processes = Process.GetProcessesByName("sqlservr");
    if (processes != null)
    {
    isRun = true;
    }
    else
    {
    System.Threading.Thread.Sleep(1000);
    }
    }
    }

  6. #6

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    برنامه باید صبر کنه تا پروسس sqlserver ران بشه بعد ازش اطلاعات دریافت کنه.
    یک راه اینه که ترد رو sleep کنید تا پروسس اجرا بشه: ...
    نقل قول نوشته شده توسط hadilionson مشاهده تاپیک
    ... فقط جالب اینجاست این مسئله ربطی به زمان گذشتن از بالا آمدن ویندوز نداره، چون برنامه واسطی قرار دادم تا برنامه مشکل دارم که از sql میخونه بعد از 10 دقیقه از شروع کار ویندوز باز کنه ولی باز همین error را داد ...
    دقت کنید!

  7. #7

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    ممنونم از پاسختون، روشی که شما استفاده کردید اصولی تر هست
    برای sqlexpress باید
    Process[] processes = Process.GetProcessesByName("sqlsExpress");
    استفاده کنم؟

  8. #8

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    بهترین راه برای یافتن زمان لود شدن sql با توجه به متفاوت بودن نوع آن، چک کردن service های ویندوز است که با دستورات زیر انجام میشه، البته برای چک کردن هر سرویسی بهترین راه همین هست


    using System.ServiceProcess;
    ServiceController sc = new ServiceController("MSSQL$SQLEXPRESS");
    while (sc.Status != ServiceControllerStatus.Running)
    {
    System.Threading.Thread.Sleep(1000);
    }
    string path = "";
    string[] p = Application.ExecutablePath.Split(new char[] { '\\' });
    for (int i = 0; i < p.Length - 1; i++)
    {
    path += p[i] + @"\";
    }
    path += "Alert.exe";
    System.Diagnostics.Process.Start(path);
    Application.Exit();



    ولی مشکل من بالا آمدن sql نیست، پیغامی که براتون گذاشتم بعد از بالا آمدن کامل sql درصورتیکه برنامه با
    Process.start("ExeName")
    اجرا بشه ایراد میگیره واقعاً برام گیج کنندست

    ممنون میشم کسی بتونه راهنمایی کنه
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 27 مرداد 1394 در 02:28 صبح

  9. #9

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    دوستان عزیز، خوشبختانه مشکل من حل شد، توضیحات و برای اون دسته میدم که شاید یه وقت با این مسئله روبرو شدند
    بهترین کار برای اجرای برنامه ای که دیتابیس sql داره ابتدا اجرای یک فایل exe واسطه هست که بعد از تکمیل لود شدن sql که در بالا توضیح داده شد، فایل exe اصلی به روش زیر فرا خوانده شه در رویداد load فرم واسطه این کد را قرار دهید


    private void Form1_Load(object sender, EventArgs e)
    {
    ServiceController sc = new ServiceController("MSSQL$SQLEXPRESS");
    while (sc.Status != ServiceControllerStatus.Running)
    {
    System.Threading.Thread.Sleep(1000);
    }
    string path = "";
    string[] p = Application.ExecutablePath.Split(new char[] { '\\' });
    for (int i = 0; i < p.Length - 1; i++)
    {
    path += p[i] + @"\";
    }
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.FileName = "program.exe";

    startInfo.WorkingDirectory = path;
    startInfo.UseShellExecute = false;
    System.Diagnostics.Process.Start(startInfo);
    Application.Exit();
    }



    این کد با خط
                startInfo.UseShellExecute = false;
    به نتیجه خواهد رسید که باعث میشه فایل exe مانند کلیک کردن بر روی exe اجرا گردد

  10. #10
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    35
    پست
    571

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    دوست عزیز :
    بنده از کدهایی که نوشتید خیلی سر در نیاوردم. میشه توضیح بدید که این کدها چیکار میکنند؟
    البته چیزهایی که متوجه شدم اگه درست باشه اینه که : تا زمان لود MSSQL$SQLEXPRESS برنامه باید صبرکنه. بعدش هم آدرس مسیر را توی یه آرایه ریختی(چرا؟)
    بعدش هم نمیدونم چه اتفاقی داره میفته. میشه دقیقتر توضیح بدید؟

  11. #11

    نقل قول: مشکل برنامه های اجرا شده در استارت آپ ویندوز با خواندن اطلاعات از sql

    دوست من، کد هایی که اشاره شده، برای اجرای درست فایل exe است، برای اینکار لازمه آدرسه فایل اگزه خودت رو بدست بیاری، تو این برنامه، فایل exe فایل جداگانه ای در پوشه اصلی برنامه هست، ما ابتدا مسیر پوشه اصلی را بدست آوردیم، بعد هم اون را به روش صحیح اجرا کردیم، workingdirectory، آدرس پوشه ای که exe در اون قرار داره را میگیره، که همان پوشه ای است که نرم افزار اصلی ما در آن قرار داره، اسم فایل exe که میخواهیم اجرا کنیم هم همان program.exe میباشه،
    موفق باشی

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

  1. مشکل در اجرای برنامه های نوشته شده با asp.net
    نوشته شده توسط aminbrleevb در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: دوشنبه 07 بهمن 1387, 16:47 عصر
  2. سوال: ایجاد یک تم در برنامه وتغییر در سایر برنامه های اجرا شده
    نوشته شده توسط mscode.ir در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: یک شنبه 02 تیر 1387, 16:23 عصر
  3. برنامه های نوشته شده تو کامپیوتر دیگران اجرا نمیشه!! حتی نصب نمیشه
    نوشته شده توسط shirzad_info در بخش برنامه نویسی در 6 VB
    پاسخ: 11
    آخرین پست: شنبه 08 بهمن 1384, 23:39 عصر
  4. مشکل برنامه های exe شده تحت Xp با 98
    نوشته شده توسط ehsan_ansaripoor در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: چهارشنبه 09 شهریور 1384, 16:19 عصر
  5. تعداد نسخه های اجرا شده یک برنامه
    نوشته شده توسط parhizkar2000 در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: پنج شنبه 28 آبان 1383, 00:35 صبح

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

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

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