PDA

View Full Version : مبتدی: مشکل در شروع یک نقطه برای برنامه نویسی تحت شبکه



mahdikoochooloo
یک شنبه 01 تیر 1393, 16:20 عصر
سلام دوستان
می خوام یک برنامه بنویسم که چند تا اپراتور وصل شن به یک سیستم سرور که تو یک پوشه در برنامه در کامپیوتر سرور یک دیتابیس با پسوند mdf هست.
بعد شروع کنن به وارد کردن اطلاعات و ثبت اطلاعات در سیستم مرکزی
نمی دونم چطوری و از کجا شروع کنم. مثلا اگر کانکشن استرینگ رو تغییر بدم در کامپیوتر کلاینت برای کار با دیتابیس خوبه؟
اصلا باید در کامپیوتر کلاینت و سرور با دستورات اصلی سوکت در شبکه کار کنم و وقتی اطلاعات از کلاینت رسید به سرور پکیجش کنم و بدم دست دیتابیس تا تو دیتابیس ثبت کنه یا نه باید بگم خودت مستقیم کار کن؟
دیتابیس هم طوریه که ثبت که می شه در سیستم یک فیلد هست خودش کلیده و بعد از ثبت یکی بهش اضافه می شه بعد باید بازیابیش کنم تا بتونم ازش در خود کلاینت استفاده کنم
پس باید هم ثبت بشه و بعد؛ از کلاینت به سرور یک سلکت زده بشه و کلیدی که الان ثبت شده بود بازیابی بشه

ممنون می شم راهنمایی بفرمایید چی بخونم و از کجا شروع کنم. نمونه کاری هست تو اینترنت من که گشتم رایگان نبود
________________________
به ما سر بزنید :
http://www.research-moghimi.ir
http://www.TranslateYar.ir
http://www.ResearchYar.ir

parvizwpf
یک شنبه 01 تیر 1393, 16:28 عصر
نیازی به برنلامه سوکت نیست. بهتره تو سرور sql server نصب کنی و تمام کارهای دیتابیس رو اونجن انجام بدی . تمام con string کلاینتها رو به اون آدرس آی پی سروره میتونید بدید. تو برنامه کلاینتها میتونید جایی برای تعریف و تغییر con string بزارید. شما باید کار با دیتابیس رو در c sharp بلد باشید بقیش حله.

mahdikoochooloo
یک شنبه 01 تیر 1393, 16:35 عصر
بنظرم اصولی نیست
چون قراره این پروژه در یک شرکت کار کنه و هر روز ازش استفاده بشه.
در نتیجه بنظرم ترجیح این باشه که با کد کار بشه و نه ویزاردی
یعنی من یک فایل دارم با پسوند mdf در پوشه بین دیباگ و بهش وصل می شم کار می کنم.
کلاینت هم به اون وصل بشه و کارش رو بکنه
اشتباه فکر می کنم؟

parvizwpf
یک شنبه 01 تیر 1393, 16:41 عصر
یعنی 4 روز دیگه نمیخواهید دیتا که بزرگ شد رو مدیریت کنید؟ mdf فقط یه فایله (اگه منظور شما فقط گذاشتن یک فایل روی سرور هست). سرور و منیجمنت sql رو نصب کنید که فردا بتونید دیتا رو مدیریت کنید.

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

mahdikoochooloo
یک شنبه 01 تیر 1393, 17:07 عصر
یعنی شما نظرتون اینه که روی کامپیوتر مشتری یک نسخه از اس کیو ال سرور 2008 با حجم 3 گیگ نصب بشه؟

این که فرمودید

یعنی 4 روز دیگه نمیخواهید دیتا که بزرگ شد رو مدیریت کنید؟
منظور از مدیریت چیه؟ بک آپ و ری استور هست که با کپی کردن خود فایل ام دی اف در جای جدید و هارد دیگه که انجام می شه. این همه اذیت و آزار هم نداره
باز هم متوجه مدیریتی که می گید نمی شم.

نگاه کنید یک موقع هست شما می خواید برای یک شرکت برنامه بنویسید که هیچی از اس کیو ال سرور بارشون نیست و شما نمی تونید بگید فلانی برو اس کیو ال سرور رو نصب کن
یک موقع هست که اون شرکت پیش منه و کنار خونمونه و من برای پشتیبانی می رم پیششون اما الان متاسفانه اینطور نیست و اونها تهران هستن و من شاهرود

یعنی راهی نیست که من با یک کانکشن استرینگ وصل شم به اون فایل ام دی اف و اطلاعات بردارم و بزارم؟

parvizwpf
یک شنبه 01 تیر 1393, 17:17 عصر
یعنی شما نظرتون اینه که روی کامپیوتر مشتری یک نسخه از اس کیو ال سرور 2008 با حجم 3 گیگ نصب بشه؟
این جمله من بود دو سه تا پاسخ بالاتر:

بهتره تو سرور sql server نصب کنی و تمام کارهای دیتابیس رو اونجن انجام بدی


منظور از مدیریت چیه؟ بک آپ و ری استور هست که با کپی کردن خود فایل ام دی اف در جای جدید و هارد دیگه که انجام می شه. این همه اذیت و آزار هم نداره
باز هم متوجه مدیریتی که می گید نمی شم.

فردا اگه یکی اومد فایل رو پاک کرد. فردا اگه خواستید تغییرات کلی رو دیتابیس انحام بدید. فردا اکه نیاز بود چیزی به بانک اضافه یا کم بشه . چیزهایی نظیر حذف اصافه بروزرسانی کلی خواستید انجام بدید.


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


یعنی راهی نیست که من با یک کانکشن استرینگ وصل شم به اون فایل ام دی اف و اطلاعات بردارم و بزارم؟
دوست عزیز مگه قرار بیست تا کان استرینگ کار کنید که غم و قصه میخورید؟ گفتم وفتی روی سرور اس کیو ال ریختید فقط بصورت پیش فرض تو برنامه های کلاینت که مینیوسید اعمال میکنید فردا هم اگه خواستید عوض کنید هیمن الان قابلیت تغییر کان استریتک رو تو برنامه کلاینت قرار میدید. تمام سخت گرفته اید.

mahdikoochooloo
یک شنبه 01 تیر 1393, 18:02 عصر
اقا ممنون
اما الان بعد از این صحبت ها بحث اصلی این بود که آموزشی چیزی دارید که بهم بدید شروع کنم؟

parvizwpf
یک شنبه 01 تیر 1393, 18:05 عصر
خب آموزش کار با دیتابیس که ریخته رو اینترنت کافیه جستجو کنید. پیشنهاد میکنم از LINQ یا Entity Framework برای کار با دیتابیس استفاده کنید.

mahdikoochooloo
یک شنبه 01 تیر 1393, 18:08 عصر
یکیش رو پیدا کردم
اینجا (http://barnamenevis.org/showthread.php?157925-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-sql-server-%D8%AF%D8%B1-%D8%B4%D8%A8%DA%A9%D9%87)
منظورم چیزی شبیه به این بود

mahdikoochooloo
یک شنبه 01 تیر 1393, 18:16 عصر
فردا اگه یکی اومد فایل رو پاک کرد.
نمی تونه چون فقط فایل در سروره و مدیر مرض نداره پاک کنه


فردا اگه خواستید تغییرات کلی رو دیتابیس انحام بدید.
اگر تغییرات انقدر کلیه که باید جداول حذف و اضافه بشن فرقی نداره من تو شاهرود تغییرات رو بدم و براش بفرستم بزاره تو دایرکتوری نرم افزار با اینکه وصل شم همونجا تغییر رو بدم نیست


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

parvizwpf
یک شنبه 01 تیر 1393, 18:23 عصر
شما جواباتون که دست خودتونه دوست عزیز، پس چرا سوال پرسیدید؟ ما چیزی که میگیم روی تجربه ای که نسبت به این نوع برنامه ها داریم هست(البته هیچ موقع ادعای تجربه ندارم و نداشته ام)... حالا نهایتا خودتون تصمیم گیرنده هستید بسم اله....

mahdikoochooloo
یک شنبه 01 تیر 1393, 18:50 عصر
اقا من تسلیم شدم
ممنون از لطفی که کردید
واقعا این کارها اگر برای خدا باشه ثواب زیادی خواهد داشت
کار یک ملتی رو راه می اندازید

mahdikoochooloo
یک شنبه 01 تیر 1393, 19:10 عصر
الان یک سوال دیگه برام پیش آمد لطف کنید جواب بدید ممنون می شم
پس چرا می بینم برخی مواقع در برنامه های اپلیکیشنی از این روش من استفاده می شه یعنی از روش قرار دادن دیتابیس در پوشه دیباگ؟ آیا هدف برای سیستم های غیر شبکه است؟ یا سیستم های کوچک؟

دوم اینکه اگر بخوام این کار رو که شما محبت کردید لطف کردید واقعا زحمت کشیدید خدا اجرش رو بده به شما تایپ کردید رو انجام بدم باید از دیتابیس بک آپ بگیرم بگم بره تو سیستم خودش ری استور کنه؟

آقا سومین سوالم اینه که کانکشن استرینگ این چی می شه اونوقت اگر بخوام با اس کیو ال سرور کار کنم؟
آیا این درسته؟
SqlConnection objConnection = new SqlConnection("Server=localhost;Database=Pubs;User " + "ID=sa;Password=csdotnet;");

ممنون

plus
یک شنبه 01 تیر 1393, 21:39 عصر
سلام دوستان
می خوام یک برنامه بنویسم که چند تا اپراتور وصل شن به یک سیستم سرور که تو یک پوشه در برنامه در کامپیوتر سرور یک دیتابیس با پسوند mdf هست.
بعد شروع کنن به وارد کردن اطلاعات و ثبت اطلاعات در سیستم مرکزی
نمی دونم چطوری و از کجا شروع کنم. مثلا اگر کانکشن استرینگ رو تغییر بدم در کامپیوتر کلاینت برای کار با دیتابیس خوبه؟
اصلا باید در کامپیوتر کلاینت و سرور با دستورات اصلی سوکت در شبکه کار کنم و وقتی اطلاعات از کلاینت رسید به سرور پکیجش کنم و بدم دست دیتابیس تا تو دیتابیس ثبت کنه یا نه باید بگم خودت مستقیم کار کن؟
دیتابیس هم طوریه که ثبت که می شه در سیستم یک فیلد هست خودش کلیده و بعد از ثبت یکی بهش اضافه می شه بعد باید بازیابیش کنم تا بتونم ازش در خود کلاینت استفاده کنم
پس باید هم ثبت بشه و بعد؛ از کلاینت به سرور یک سلکت زده بشه و کلیدی که الان ثبت شده بود بازیابی بشه

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

مرکز قرار دادن دیتابیس برای شبکه کردن نرم افزار اگرچه راحته ولی لزوما بهترین گزینه نیست. همونطور که گفتی شما میتونی یک نرم افزار سروری طراحی کنی که کلاینت ها باهاش در ارتباط باشن و فقط اون سرور به دیتابیس متصل باشه.این راه اصولی تر، ولی نه چندان ساده تر هست.البته برای شبکه کردن نیازی نیست چیزی از Socket Programming بدونی. میتونی از تکنولوژی های قوی تر که جزئیات شبکه رو پنهان میکنن مثل WCF، .NET Remoting و ... استفاده کنی.

mahdikoochooloo
یک شنبه 01 تیر 1393, 21:42 عصر
ممنون
کانکشن استرینگ رو پیدا کردم اما فکر می کنم خیلی مبتدی باشه
اگر کسی از دوستان عنایت کنه پیشرفته اش رو بزاره ممنون می شم
string str = "server=localhost;database=Heap_management.MDF;inte grated security=true";