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

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




صفحه 1 از 5 12345 آخرآخر
نمايش نتايج 1 به 10 از 45

نام تاپيک: اجرای یک برنامه ی دات نت از روی Share یک کامپیوتر دیگر

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    28

    14 اجرای یک برنامه ی دات نت از روی Share یک کامپیوتر دیگر

    سلام...
    من یک برنامه با 2.0 C# .Net و SQL Server 2005 نوشتم و می خوام که اونو از روی Sharedoc یک کامپیوتر دیگر بر روی کامپیوتری دیگری اجرا کنم. من اومدم فولدر bin/debug رو توی sharedoc کپی کردم اما موقع اجرا از یک کامپیوتر دیگه می گفت که یه سری dll رو پیدا نمی کنه ! البته توضیح بدم که این برنامه به صورت جداگانه روی هردو کامپیوتر اجرا می شود. یعنی اینکه dll های لازم در هر دو کامپیوتر موجود هست.
    ممنون می شم اگه کمکم کنید

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

    پيش فرض

    سلام

    1- فایلهای داخل مسیر debug همانطور که از نامشان مشخص است، برای انتشار نیستند و سنگین و کند هستند.
    2- اجازه دهید خانه را از پایبست درست کنیم.
    با انجام عمل فوق میخواهید چه شود؟؟؟؟
    فکر میکنید برنامه تان شبکه ای میشود؟؟؟
    فکر میکنید میتوانید به منابع رایانه ی اولیه دسترسی داشته باشید؟؟؟

    در عمل تفاوتی با اجرای جداگانه روی هر pc ندارد، فقط دارید برنامه را کند و سنگین و مستعد خطا میکنید.

    اگر برنامه تان دیتابیسی دارد که هر رایانه در شبکه باید به طور مشترک از آن دیتابیس استفاده کند، به جای این کارها نرم افزارهای SQLServer را درست پیکر بندی کنید تا تحت شبکه کار کند و برنامه تان به طرز منطقی و اصولی یک شبکه رایانه ها را تحت پوشش قرار دهد.

  3. #3
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    28

    پيش فرض

    سلام
    ممنون از جوابتون...
    بله شما درست می گین. من دنبال یک راه حل سریع بودم و البته تنظیمات sql server رو برای شبکه ای شدن بلد نیستم...
    می شه یه لینک یا بخشی از کتابی رو به من معرفی کنین که از اونجا یاد بگیرم ؟
    ممنون از لطفتون

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

    پيش فرض

    سلام
    متاسفانه کتاب جالبی در خصوص تنظیمات پیکر بندی SQLServer من نمیشناسم.

    ولی سعی میکنم در متنی کوتاه و با شرایط استاندارد، تحت SQLServer2005، توضیحی بدهم.
    رایانه ها را که به هم شبکه سخت افزاری کردید، یک رایانه را به عنوان سرور انتخاب کنید، مطئن شوید ویندوز سرور مشکل اجازه نامه و برقراری ارتباط ندارد، مثلاً در Vista بهتر است گزینه Password protected sharing غیر فعال باشد.

    به رایانه سرور در شبکه یک نام یا IP انحصاری اختصاص دهید. (چون فکر میکنم، میدانید در کجا هستند، دیگر توضیح نمیدهم.)

    SQL Server را بر روی هر دو سیستم سرور و کلاینت یا کلاینتها نصب کنید.

    در صورت نیاز با کمک SQL Server Configuration Manager حوزه کاری سرویس اصلی SQL Server را از Local System به Network System تغییر دهید.

    در تنظیم ConnectionString در کلاینت ها، اولین قدم ست کردن Data Source با نام یا IP سرور است.
    در صورت وجود User و Pass نمونه SQL Server رایانه سرور را هم تنظیم کنید.

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

    (همانطور که من خودم به راحتی به SQLServer سایتم وصل میشوم.)

    سعی کنید و بخواهید میتوانید.

  5. #5
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    28

    پيش فرض

    بازم ممنون از پاسختون...
    ولی می دونید مشکل اینجاست که من connection string رو دستی وارد نمی کنم... خود visual studio می سازه اونو ...
    در واقع من یه برنامه نوشتم که توش با دیتابیس کار می کنم ولی این دیتابیس به سرور attach نیست و من اینطوری باهاش کار می کنم که یه dataset دارم که همه Table های دیتابیس ام توی اون به صورت datatable وجود داره... همینطورم برای این table ها توی dataset به تعدادشون table adapter دارم که query هایی رو که می خوام توی این table adapter ها اضافه می کنم و هروقت احتیاج باشه با اون table adapter ها data table مورد نظر رو پر می کنم و سپس از اون استفاده می کنم یا اینکه به دیتابیس ردیفی اضافه یا update میکنم !
    به این صورت :

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

    من از اینجا می دونم که دیتابیسم attach نیست که با sql server management studio که نگاه می کنم فقط توی دیتابیس ها اون 4 تا system database وجود داره !
    می خواستم کمکم کنید که یه جوری این برنامه رو سر و سامان بدم که دیتابیس attach باشه ولی دیگه این کدهای datatable و table adapter رو عوض نکنم...
    ممنون واقعا...
    Last edited by ngooran; 23-07-2008 at 13:35.

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

    پيش فرض

    سلام
    ولی می دونید مشکل اینجاست که من connection string رو دستی وارد نمی کنم... خود visual studio می سازه اونو ...
    راه اصولی و حرفه ای و منطقی نه ست شدن توسط VS است و نه توسط کد سر راست شما!
    شما باید یک پنجره Options داشته باشید و به نوعی اجازه تغییر ConnectionString را به کاربر برنامه تان بدهید.
    مثل دیالوگ ست کردن ConnectionString در خود VS .
    البته لزوماً نیاز نیست، همه گزینه ها و شرایط در دسترس کاربران باشد.
    میتوانید فقط یک ورودی بگذارید تا کاربر بتواند در تنظیمات برنامه نام یا IP سرور را تنظیم کند، این حداقل ممکن است.
    و چه بهتر که ورودی ای هم برای User و Password داشته باشید.

    می خواستم کمکم کنید که یه جوری این برنامه رو سر و سامان بدم که دیتابیس attach باشه ولی دیگه این کدهای datatable و table adapter رو عوض نکنم...
    اول باید متذکر شوم که کل این تغییرات مورد بحث فقط در مورد ConnectionString است و در اصل به کدهای اصلی شما کاری ندارد.
    البته با توجه به کدهای جاریتان که نشان دادید، شاید نیاز باشد یک خط کدجدید برای ست کردن دستی ConnectionString هم اضافه کنید، تا این نمظیم مهم دینامیک در اختیار برنامه و تنظیمات کاربر باشد و یک بار در زمان بالا آمدن برنامه ConnctionString تولید شود و در متغییری ریخته شود و سپس تمام کدها از این ConnectionString برای کار استفاده کنند.

    یعنی احتمالاً بایک خط اضافه کردن کد به هر بلاک دستوری این تیپیتان مشکل تغییر کد حل میشود.

    (البته روش ایده آل، کمی سخت تر است و اجرایش برای شما، شاید مشکل باشد ولی طئوری فوق الذکر هم خیلی خوب است.)


    در مورد Attach هم، فقط نسخه express از این مطلب پشتیبانی میکند و جالب است که نسخه کامل و اصل SQLServer اصلاً قابلیت ارتباط غیر Attach ای ندارد!
    برای attach کافیست، فایلهای اصلی پایگاه را در صورت نیاز به مکان مناسب منتقل کنید و گزینه های مربوطه را که احتمالاً بلد هستید در SQL Server Managment پیگیری کنید.

    برای کار به صورت شبکه ای هم attach بودن الزامی است که در همه نسخه های SQLServer وجود دارد.
    البته من مطمئن نیستم نسخه SQL Server Express بتواند به عنوان سرور شبکه ای رفتار کند،
    یعنی تا حالا هر چه شبکه کرده ام با نسخه Developer بوده، یعنی تا حالا Express را تحت شبکه تست نکرده ام.

    بحرحال بعد از atrtach کردن باید ConnectionString را اصلاح کنید، چه در روند دینامیک و چه ConnectionString برای TypedDataSet و DataAdapter ها، تا زمان طراحی هم به مشکلی بر خورد نکنید. مثلاً برای رایانه جاری و نسخه express میشود:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

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

    پيش فرض

    سلام
    ضمناً بهتر است یک سری هم به قسمت Project->Settings بزنید، اگر بتوانید ConnectionString را در اینجا پیدا کنید، خیلی خوب میشود.
    آنگاه احتمالش خیلی زیاد میشود که کدهای DataAdapter موجود در TypedDataSet تان هم از همین استفاده کند و دیگری نیاز به اضافه کردن و اصلاح هیچ کدی در برنامه تان نیست.

    و فقط شاید یک سری کد برای قسمت Options برنامه اضافه کنید ولی چیزی تغییر نخواهد کرد.

    فعلاً یک نگاهی بیاندازید.
    تا بعد.

  8. #8
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    28

    پيش فرض

    سلام...
    واقعا ممنون از پاسخ های سریع و کاملتون... ممنون
    در مورد project->settings رفتم دیدم که دوتا connection string داخلش بود !!! یکی برای اون database که داخل فولدر bin\debug هست و یکی هم برای database ای که داخل فولدر اصلی پروژه وجود داره ! که البته من هر تغییراتی که داخل دبتابیس انجام می دم در اون bin\debug رخ می ده...
    سوالم الان اینه که من دیتابیسم رو در جایی درون کامپیوتر سرور قرار بدم و آدرس اون رو در این connection string وارد کنم ؟
    بعد اینکه شما می گین یه قسمتی برای کاربر بگذاریم که IP سرور رو وارد کنه اون وقت من این connection string ای که با IP جدید ساخته شده رو چطوری به project->settings با کد اضافه کنم ؟
    یه سوال دیگه هم دارم که اگه جواب بدین خیلی ممنون می شم... اینکه اون دومین connection string ای که دارم مشکل ساز نیست ؟ اصلا باید همچین چیزی باشه ؟!!!

    بازم ممنون از این همه لطف شما...

  9. #9
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    28

    پيش فرض

    ببخشین اینو یادم رفت که بپرسم :
    و فقط شاید یک سری کد برای قسمت Options برنامه اضافه کنید ولی چیزی تغییر نخواهد کرد.
    منظورتون رو از این قسمت نفهمیدم...

    بازم ممنون...

  10. #10
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    28

    پيش فرض

    با عرض شرمندگی من الان که project->settings رو نگاه کردم دیدم که هردو connection string به یک دیتابیس اشاره می کنه !!!
    به این صورت :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ولی با این حال تغییرات داخل bin/debug/Database1.mdf رخ می ده !!!

Thread Information

Users Browsing this Thread

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

User Tag List

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

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