تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: مشکل در اجرای برنامه در سیستم مقصد(خطای SQL)

  1. #1
    آخر فروم باز H A M A S's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    3,294

    پيش فرض مشکل در اجرای برنامه در سیستم مقصد(خطای SQL)

    موقع ساخت ستاپ فایل دیتابیس رو به اکسپرس تبدیل کردم و با استفاده از خود Visual Studio و افزودن نیازمندیها( مثل sql express و freamwork4 ) ستاپ رو ساختم .
    اما توی سیستم مقصد بعد موقع اجرا این خطا رو میده اینم کانکشن برنامه هست.در ضمن فایلهای دیتابیس هم بعد از نصب توی پوشه برنامه موجوده

      محتوای مخفی: متن خطا 




      محتوای مخفی: قسمت Details 

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


      محتوای مخفی: کانکشن استرینگ برنامه 

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by H A M A S; 28-04-2013 at 09:11.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    خطا ناشی از عدم برقرای ارتباط با SQLServer است.
    احتمال دارد SQLServer درست نصب نشده باشد یا سرویسش Start نباشد و...
    در TaskManager باید فایلی به نام sqlserv.exe در حافظه باشد و در بخش سرویس ها هم سرویسی با نام MSSQL$SQLEXPRESS در حافظه باشد.

    اگر SQLServer درست نصب شده باشد و فقط Startup نباشد میتوانید...
    در رایانه مقصد میتوانید از AllProgram برنامه SQL Server Configuration Manager را اجرا کنید و سرویس SQLServer را AutomaticStart کنید یا ControlPanel/AdministratorTools/Services
    و...

    به عنوان راه حل های سبک دیگر (برای پروژه های کوچک)

    (((
    اگر رایانه مقصد بالاتر از XP باشد (Vista, Server2008, W7, Server2008R2, W8, Server2012) میتوانید بجای نسخه Express از نسخه LocalDB استفاده کنید.
    این نسخه نیازمندیهای کمتری دارد و نیازی به Startup بودن سرویسی هم ندارد، شمن اینکه کاملاً هم با سایر نسخه های SQLServer سازگار است.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]


    باز برای موارد ساده تر (شاید در حد دفترچه تلفن یا ...) میتوان از نسخه Compact هم استفاده کرد.
    این نسخه حتی بعضاً بدون نصب و با کپی فایلهای dll اش کنار exe هم کار میکند ولی در عوض با سایر نسخه های SQLServer سازگاری ندارد.
    فایل دیتابیس اش بجای mdf پسوند sdf دارد و از View و Function و Procedure و... در دیتابیس پشتیبانی نمیکند.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    )))

    موفق باشید.

  3. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  4. #3
    آخر فروم باز H A M A S's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    3,294

    پيش فرض

    سلام
    خطا ناشی از عدم برقرای ارتباط با SQLServer است.
    احتمال دارد SQLServer درست نصب نشده باشد یا سرویسش Start نباشد و...
    در TaskManager باید فایلی به نام sqlserv.exe در حافظه باشد و در بخش سرویس ها هم سرویسی با نام MSSQL$SQLEXPRESS در حافظه باشد.

    اگر SQLServer درست نصب شده باشد و فقط Startup نباشد میتوانید...
    در رایانه مقصد میتوانید از AllProgram برنامه SQL Server Configuration Manager را اجرا کنید و سرویس SQLServer را AutomaticStart کنید یا ControlPanel/AdministratorTools/Services
    و...

    به عنوان راه حل های سبک دیگر (برای پروژه های کوچک)

    (((
    اگر رایانه مقصد بالاتر از XP باشد (Vista, Server2008, W7, Server2008R2, W8, Server2012) میتوانید بجای نسخه Express از نسخه LocalDB استفاده کنید.
    این نسخه نیازمندیهای کمتری دارد و نیازی به Startup بودن سرویسی هم ندارد، شمن اینکه کاملاً هم با سایر نسخه های SQLServer سازگار است.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    خب روی vmware یه ویندوز سون نصب کردم و به خوبی و خوشی و با موفقیت کامل فریمورک دات نت و sql express رو نصب کردم
    اما بازم مشکل وجود داهر

    در TaskManager باید فایلی به نام sqlserv.exe در حافظه باشد
    موجود بود
    باز برای موارد ساده تر (شاید در حد دفترچه تلفن یا ...) میتوان از نسخه Compact هم استفاده کرد.
    این نسخه حتی بعضاً بدون نصب و با کپی فایلهای dll اش کنار exe هم کار میکند ولی در عوض با سایر نسخه های SQLServer سازگاری ندارد.
    فایل دیتابیس اش بجای mdf پسوند sdf دارد و از View و Function و Procedure و... در دیتابیس پشتیبانی نمیکند.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    )))

    موفق باشید.
    در TaskManager باید فایلی به نام sqlserv.exe در حافظه باشد
    موجود بود
    در بخش سرویس ها هم سرویسی با نام MSSQL$SQLEXPRESS در حافظه باشد.
    اینم بود
    در رایانه مقصد میتوانید از AllProgram برنامه SQL Server Configuration Manager را اجرا کنید
      محتوای مخفی: وضعیت سرویس ها 




    موقع نصب sql نمیخواد تنظیمی متناسب با کانکشن استرینگ برنامه انجام داد؟
    کلا تنظیمی خاصی نداره؟
    مثلا قسمت Instance Configuration یا Server Configuration (که در این قسمت من NT AUTHORITY\SYSTEM رو انتخاب کردم)
    Last edited by H A M A S; 29-04-2013 at 15:33.

  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    خوب شد که تصویر بسیار بجایی تهیه کنید!
    مشکل کاملاً مشخص است.

    ==============
    اطلاعات ساختاری:

    SQLServer وقتی در رایانه نصب میشود با یک نام ویژه و انحصاری InstanceName نصب میشود که مختص همان نسخه است.
    از این رو شما میتوانید بطور همزمان در یک رایانه SQLServer2000 و شاید 2008R2 و شایدهم یک Express2012 و... را در کنار هم به خوبی و خوشی نصب کنید.
    هر کدام از این نسخه ها هم میتواند تعداد نامحدودی دیتابیس یا کاربر و... داشته باشد.

    ولی هر یک از آنها یک InstanceName انحصاری و غیر تکراری باید داشته باشند که شما هم در زمان اتصال باید در ConnectionString نام InstanceName را ذکر کنید.
    از بین تمام نامهای ممکن و دلخواه برای InstanceName (که در زمان نصب قابل وارد کردن است) یک و فقط یک نام MSSQLSERVER میتواند نسخه پیش فرض باشد.
    نسخه ای پیش فرض در ConnectionString نیازی به درج InstanceName ندارد و در صورت فعال بودن پروتکل TCPIP روی پورت پیش فرض 1433 در شبکه هم خدمات ارائه میدهد.

    نسخه های پولی SQLServer مانند Standard, Web, Personal, Developer, Enterprice بصورت پیشفرض با نام MSSQLSERVER نصب میشوند.

    نسخه Express بصورت پیشفرض با نام SQLEXPRESS نصب میشود.

    نسخه LocalDB هم بصورت پیشفرض با نام (localdb)\v11.0 نصب میشود که البته از یک نظرهایی متفاوت است.

    مثلاً به ترتیب باید ConnectionString های این تیپی برای اتصال داشته باشید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    (نقطه معرف رایانه جاری است و در شرایط شبکه با لحاظ برخی موارد امکان جایگزینی با نام رایانه یا دامین یا IP و... را دارد)

    ==============
    مشکل شما:

    چیزی که از تصویر شما مشخص است (خط اول تصویر مهم است) آن است که رایانه مورد نظر فقط یک نسخه SQLServer و آن هم با نام نمونه MSSQLSERVER نصب شده.

    من نمیدانم نسخه شما Express بوده یا چیز دیگری بوده ولی هرچه بوده با نام نمونه MSSQLSERVER نصب شده.
    یعنی در زمان نصب SQLServer و در دیالوگی که نام InstanceName پرسیده میشده گزینه رادیویی Default Instance انتخاب شده.

    حالا اگر نسخه تان واقعاً Express باشد باید با رشته اتصال اینچنینی بتوانید وصل شوید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    (AttachDbFilename فقط در نسخه Express و با تنظیم UserInstance در دسترس است.)

    ==============
    آینده:
    1) برای برنامه های ساده از نسخه های ساده تری مانند LocalDB یا Compact استفاده کنید.

    2) برای برنامه های کامل تر هم نسخه Express بسیار مناسب و یکسری تنظیم خط فرمانی دارد که میتواند در برنامه نصابتان از آن استفاده کنید و SQLServer را در شرایط و تنظیمات ثابت دلخواهی نصب کنید.

    برای مشاهده این تنظیمات میتوانید فرمان ?/ SQLEXPR32_x86_ENU.exe را اجرا کنید.

    بعنوان نمونه سوییچ =INSTANCENAME/ نام نمونه نصبی را مشخص میکند ویا سوییچ TCPENABLED=1/ پروتکل TCP را فعال میکند ویا سوییچ SECURITYMODE=SQL/ پروتکل اعتبارسنجی Mixedmode را که برای اعتبارسنجی User/Pass لازم است فعال میکند و... و...

    دراین شرایط هم حداقل کاری که میتوانید انجام دهید آن است که ConnectionString را بجای کد #C در داخل فایل app.config قرار دهید تا در شرایط خیلی خاص بتوان آن را از خارج برنامه تغییر داد و برنامه تان منعطف تر شود.

    3) برای برنامه های پیچیده تر میتوانید نصب نسخه Express را با گزینه ای اختیاری بگذارید که نصب شود یا خیر.
    (تا اگر مدیر شبکه شرکت مشتری یا بخش فن آوری اطلاعات شرکت مشتری خواستند بتوانند خودشان نسخه دلخواه را دستی نصب و پیکربندی کنند)

    و برنامه تان را هم میتوانید مجهز به دیالوگ Connection کنید که پارامترهای ارتباطی را گرفته و رشته اتصال را برای برنامه تنظیم کند.
    یعنی ConnectionString در داخل exe نباشد و در تنظیمات یا فایلی در خارج آن نگه داری شود.

    ==============
    موفق باشید.

  6. 3 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •