ورود

نسخه کامل مشاهده نسخه کامل : چطور میشه برنامه ای که با c# می نویسم روی شبکه کار کنه؟ با پایگاه sql می نویسم



yas128
23-06-2012, 07:38
سلام دوستان ...
من می خوام استارت یه برنامه رو بزنم که برای جایی هست خیلی مهمه ...
چیزی که مهمه اینه که این برنامه روی تمام سیستم ها نصب شه و کار کنند اما پایگاه اون رو فقط روی سرور بریزم و بقیه به سرور وصل شن .
باید چه تنظیماتی انجام بدم ؟ مربوط به sql هست یا c#?
ممنون می شم راهنماییم کنید .
با تشکر

yas128
23-06-2012, 09:34
بچه ها خواهشن جواب بدید ..
ممنون می شم

yas128
23-06-2012, 09:43
ببینید من می خوام برنامه ای بنویسم با پایگاه داده sql. وقتی تمام شد، این برنامه رو باید روی 3تا سیستم بریزم تا کاربرا باهاش کار کنن. این سیستم ها توی شبکه هستن. یه سرور هم دارم که می خوام برنامه رو روش بریزم و فقط روی سرور sql نصب کنم و پایگاه رو attach کنم. من باید چیکار کنم؟ این برنامه ای که می گم واسه ورود اطلاعات و حالا یک سری پردازش هست که همزمان 3یا 4تا کاربر باهاش کار می کنن .
کمـــــــــــــــــــــــ ـکم کنید ...
با تشکر

yas128
23-06-2012, 12:51
چرااااااااااااااااااااااا اااااااااا هیشکی جواب نمییییییییییییییییییده :37:
کســــــــــــــــــــــی خونه نیست :42:

Msba
23-06-2012, 17:05
سلام.
دوست من چرا این قدر عجله می کنی!
شما یک SQL Server روی کامپیوتری که می خواهی سرور باشه نصب کن. کدام نسخه؟ بسته به حجم اطلاعات و سرعت سرور شما داره. اما عرف روی 2008 هست. البته نسخه های 12 و 10 نیز هستند که سخت افزار قوی تری رو می طلبند.
در برنامه نویسی هم اگر شبکه ات DNS داره که نام کامپیوتر سرورت رو به عنوان سرور بده. اگر هم پورت خاصی رو برای دسترسی در سرور تنظیم کردی اون رو نیز در Connection String وارد کن.
اگر هم DNS نداری بهتر است تا با ip استاتیک کار کنی و ip سرورت رو بدی. اگر هم پورتی رو ست کردی اون هم مثل بالا باید وارد کنی.
یوزر و پسورد ورود به SQL Server و نام بانکت رو هم که بدی دیگه تمومه. وصل شدی و حل!

Sql Server برای 3 یا 4 تا یوزر طراحی نشده بلکه برای تعداد بیشماری ارتباط همزمان طراحی شده و شما اصلا نگران تعداد دسترسی های همزمان نباش.

موفق باشید.

yas128
24-06-2012, 07:33
سلام.
دوست من چرا این قدر عجله می کنی!
شما یک SQL Server روی کامپیوتری که می خواهی سرور باشه نصب کن. کدام نسخه؟ بسته به حجم اطلاعات و سرعت سرور شما داره. اما عرف روی 2008 هست. البته نسخه های 12 و 10 نیز هستند که سخت افزار قوی تری رو می طلبند.
در برنامه نویسی هم اگر شبکه ات DNS داره که نام کامپیوتر سرورت رو به عنوان سرور بده. اگر هم پورت خاصی رو برای دسترسی در سرور تنظیم کردی اون رو نیز در Connection String وارد کن.
اگر هم DNS نداری بهتر است تا با ip استاتیک کار کنی و ip سرورت رو بدی. اگر هم پورتی رو ست کردی اون هم مثل بالا باید وارد کنی.
یوزر و پسورد ورود به SQL Server و نام بانکت رو هم که بدی دیگه تمومه. وصل شدی و حل!

Sql Server برای 3 یا 4 تا یوزر طراحی نشده بلکه برای تعداد بیشماری ارتباط همزمان طراحی شده و شما اصلا نگران تعداد دسترسی های همزمان نباش.

موفق باشید.


دوست خوبم خیـــــــــــــلی ممنون واسه کمکی که بهم کردید ... :11:
پس فقط انگاری connection string در این روش تحت شبکه با روش معمولی که واسه یه سیستم می نویسیم فرق داره .
پاینده باشید :12:

yas128
24-06-2012, 07:38
راستی اگه زحمت نیست یه نمونه connection string رو واسم می نویسید ؟
فرض کنید IP سرور 192.168.0.28 هست . نام کاربری و رمز عبور هم مثلاً abc و 123 هستند. اسم بانک هم registerreport.

yas128
24-06-2012, 07:48
فهمیدم اینطوریه ... نه؟
string connection string="server=192.168.0.28;database="registerreport";Integrated Security=True;UID="username";PWD="password

yas128
24-06-2012, 15:47
سلاااام ...
من یه سوال دیگه هم دارم ...
خوب ممکنه بخوام نرم افزارم رو توی چندتا شبکه مختلف پیاده کنم... اون موقع ip استاتیک که جواب نمیده... باید چیکار کنم؟؟؟؟
من تو حالت عادی connection رو اینطوری تعریف می کنم :
sqlconnection cn =new sqlconnection("Data Source=.;Initial Catalog=paygah;Inetegrated Security=True")l
حالا چطوری تعریف می شه؟

Msba
24-06-2012, 19:05
چند راه برای دسترسی به سرور وجود داره
1- مانند قبل شبکه یک DNS داشته باشه و شما تنها نام رایانه سرور رو وارد کنی و و بس! ( البته اگر شبکه کوچک باشد نیز گاها می توان از نام رایانه سرور استفاده کرد)
2- یک تنظیم در برنامه بگذاری که کاربر آدرس سرور رو بده.
3- Server ها رو پیدا کنی و کاربر سرور مورد نظرش رو انتخاب کنه.
4-
الف ) یک سرویس برای ویندوز بنویسی که یک پورت خاصی رو گوش کنه.
ب) لیست سرور ها رو دربیاری
ج) به لیستی که اومده (آدرس ip اون ها نه اسم) یک دیتای خاص به پورت بند الف بفرستی. هر سروری که پاسخ داد (سرویس نوشته شده شما) سرور اصلی معلوم می شه.

برای پیدا کردن سرور ها می تونی از دو روش استفاده کنی:
1-

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که گاها جواب نمیدهد و طبق گفته ی مایکروسافت روی نسخه 2000 و 2005 تضمین می شه.
2-استفاده از DMO که یک همخوانی در نسخه های جدید با نسخه های قدیمی است.
برای دانلودش برو اینجا ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) و یا اینجا ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) ا که دومیی خود DMO برای X64 هست. اگر هم نسخه های دیگر داری از لینک اول و در غیر این صورت بگردی راحت پیدا می شه.
برای استفاده از DMO هم در refrence ها اضافه می کنیش و بعد:


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

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

اگر هم سرور در اینترنت باشه که کافیه اون دیتابیسه سرور رو رو یک دامین تنظیم کنید و بس !

موفق باشید.

yas128
25-06-2012, 09:28
دوست عزیز خیلی ممنونم واسه کمکی که می کنید.
با این حساب مورد شماره 2 خیلی به دلم نشست :40: فکر می کنم راحتر باشه و بی دردسرتر.
ببخشید که با سوالام اذیتتون می کنم ...
اگه بخوام به روش شماره 2 برم دقیقاً باید چه کارهایی انجام بدم؟
ایجوری که به ذهنم میرسه توی برنامه یه جایی رو تنظیم کنم واسه تنظمیات سرور ، مثلاً یه متغیر global از نوع رشته که کاربر ip رو وارد کنه ... بعد رشته اتصالم رو بر اساس این متغیر ست کنم ... حالا می شه بگید چحوری؟
من توی تعریف sqlconnection گیر کردم !

یه دنیا متشکرم

Msba
25-06-2012, 17:58
اگر می خواهی که تمام حالات SQL Connection رو ببینی برو به این آدرس ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]).
من همیشه از حالت اول استفاده می کنم ( Standard )
فقط دقت کنید که به کدام instance از سرور وصل می شید. اگر به مورد خاصی می خواهید وصل شوید حتما از \ و نام instance استفاده کنید.
در پایان:
رشته شما این طوری بدست می آید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همه ی متغیر های بالا از نوع رشته هستند و شما می توانید توسط یک فرم با چند تا textBox مقادیر لازم رو بگیرید و درون رشته خودتون قرار بدید. و اون رو در جایی ذخیره کنید که کاربر بار بعد خواست وصل شه برنامه از اون استفاده کنه و هر بار که برنامه باز می شه اون رو درون یک متغیر static بریزه تا در همه جای برنامه بشه از اون استفاده کرد. ( البته این یک روش ساده است. )


موفق باشید.

yas128
26-06-2012, 08:30
شما واقعا خیلی به من کمک کردید .. ممنونم
اگه میشه پیاماتونو چک کنید ... یک کار واجب دارم
ممنون می شم...