PDA

View Full Version : سوال: اتصال به پایگاه داده از طریق wireless



behrouz_n
جمعه 10 اردیبهشت 1389, 21:51 عصر
سلام
من یک برنامه میخواهم بنویسیم یک پایگاه داده مرکزی داشته باشه و سیستم های دیگه از طریق wire less به اون وصل بشوند. ولی نمی دونم چطور از طریق wireless با دیتابیس ارتباط برقرار کنم.
دوستان اگه اطلاعاتی دارند لطفا راهنمایی کنند.
مرسی

mehdi.mousavi
جمعه 10 اردیبهشت 1389, 22:36 عصر
سلام من یک برنامه میخواهم بنویسیم یک پایگاه داده مرکزی داشته باشه و سیستم های دیگه از طریق wire less به اون وصل بشوند. ولی نمی دونم چطور از طریق wireless با دیتابیس ارتباط برقرار کنم. دوستان اگه اطلاعاتی دارند لطفا راهنمایی کنند. مرسی

سلام.
ارتباط بین سیستمها، ربطی به برنامه ای که شما می نویسید نداره. سیستمها ممکنه "بی سیم یا "با سیم" به همدیگه متصل شده باشن و یه شبکه کامپیوتری رو تشکیل داده باشن. این مساله کاملا از دید برنامه نویس Transparent هستش. توی یک شبکه TCP/IP، هر نود یک IP میگیره و فقط کافیه با استفاده از IP ماشین مقصد، اطلاعات رو بین دو نود رد و بدل کنید. خواه این دو سیستم توسط سیم به یکدیگر متصل شده باشن، خواه بی سیم. برای شما اهمیتی نداره چون این مساله در لایه های پایینی سیستم مد نظر گرفته شده.

موفق باشید.

behrouz_n
چهارشنبه 22 اردیبهشت 1389, 19:48 عصر
همین که گفتین "با استفاده از IP ماشین مقصد، اطلاعات رو بین دو نود رد و بدل کنید. " رو چطوری پیاده کنم؟
اگه یکمی عملی تر راهنمایی کنید ممنون میشم

peymanjon
پنج شنبه 23 اردیبهشت 1389, 01:12 صبح
همین که گفتین "با استفاده از IP ماشین مقصد، اطلاعات رو بین دو نود رد و بدل کنید. " رو چطوری پیاده کنم؟
اگه یکمی عملی تر راهنمایی کنید ممنون میشم
دوست عزیز برای این کار، شما باید از soucket programming استفاده کنید ، هم مطلب و هم نمونه کد برای آشنایی شما بااین مبحث در سایت موجود است.
ولی من فکر میکنم شما منظور جناب موسوی را درست متوجه نشدید ، منظور ایشون این بود که مهم نیست از چه طریق به دیتا بیس وصل شدید چون تغییری در کدنویسی شما نسبت به حالتی که client با LAN به دیتا بیس وصل باشه نمی باشد.

mehdi.mousavi
پنج شنبه 23 اردیبهشت 1389, 11:53 صبح
همین که گفتین "با استفاده از IP ماشین مقصد، اطلاعات رو بین دو نود رد و بدل کنید. " رو چطوری پیاده کنم؟ اگه یکمی عملی تر راهنمایی کنید ممنون میشم

سلام.
شما توضیح بدید که راهکار مورد نظرتون برای حل مساله چیه، تا من عملی تر توضیح بدم. چون ارتباط یاد شده رو میشه با انواع و اقسام تکنولوژیها پیاده سازی کرد. از ASP.NET Web Services گرفته، تا WCF، WinSock و هزار و یک چیز دیگه. حتی میشه فقط Connection String رو طوری تعیین کرد که برنامه شما به DataBase ای که روی ماشین Remote قرار داره مستقیما وصل بشه و این از دید برنامه شما مخفی بمونه.

من باید بدونم چی تو ذهنتون هستش تا بتونم راهنمایی کنم.

موفق باشید.

behrouz_n
پنج شنبه 23 اردیبهشت 1389, 14:06 عصر
من برنامه ای میخوام بنویسم که چند صندوقدار به یک کامپیوتر مرکزی از طریق wireless وصل بشوند.
اطلاعات IP و Port کامپیوتر سرور را داخل قسمت تنظیمات برنامه قابل تغییر باشه. علاوه بر اون میخوام از به وسیله packet PC نیز به دیتابیس وصل بشم.
برای برنامه نویسی Packet PC از یک نفر پرسیدم گفت که اتصال به پایگاه داده اش تفاوتی با برنامه های ویندوزی نداره و فقط باید IP , Port کامپیوتر دیتابیس رو بهش بدی.
از روش ASP.NET Web Services و WinSock نمیخوام استفاده کنم.

mehdi.mousavi
شنبه 25 اردیبهشت 1389, 10:22 صبح
من برنامه ای میخوام بنویسم که چند صندوقدار به یک کامپیوتر مرکزی از طریق wireless وصل بشوند. اطلاعات IP و Port کامپیوتر سرور را داخل قسمت تنظیمات برنامه قابل تغییر باشه. علاوه بر اون میخوام از به وسیله packet PC نیز به دیتابیس وصل بشم. برای برنامه نویسی Packet PC از یک نفر پرسیدم گفت که اتصال به پایگاه داده اش تفاوتی با برنامه های ویندوزی نداره و فقط باید IP , Port کامپیوتر دیتابیس رو بهش بدی. از روش ASP.NET Web Services و WinSock نمیخوام استفاده کنم.

سلام.
من نپرسیدم شما چی کار نمی کنید. پرسیدم چیکار می خواهید کنید.

در هر حال، روشی که میگم بهترین روش نیست، اما سریعترین روش پیاده سازی ارتباط بین ماشین شما و ماشینی هستش که RDBMS روش نصب شده. فرض کنید SQL Server رو روی ماشین Remote نصب کرده ایم. کافیه تا SQL Server رو Config کنیم تا اجازه برقراره ارتباط TCP/IP رو بده (برای آشنایی با جزییات اینکار، به بخش SQL Server مراجعه کرده و این مطلب رو در اون بخش جستجو کنید).

وقتی SQL Server رو آماده کردید، کافیه تا Connection String به Database مورد نظرتون رو در برنامه خودتون درست تعیین کنید. بعنوان مثال منظور از Connection String زیر:


Database=mydatabasename;Server=180.195.235.52;User ID=whatever;Password=mypassword;

این هستش که به بانکی با نام mydatabasename روی ماشینی با آدرس 180.195.235.52 و تحت Credential ای که با نام کاربری whatever و کلمه عبور mypassword تعیین شده متصل شو...

بدین ترتیب شما با ADO.NET همونطوری که با یک بانک Local کار می کنید، کار خواهید کرد و Provider مورد نظر هنگام لزوم، ارتباط با اون IP Address (و در نتیجه RDBMS) رو برقرار میکنه و اطلاعات مورد نظر رو از بانک دریافت کرده، یا به بانک اضافه می کنه.

موفق باشید.

donya100
یک شنبه 26 اردیبهشت 1389, 09:07 صبح
سلام . در ادامه این بحث گفتید این کار سریع ترین روشه اما بهترین روش نیست . من دارم برنامه ای می نویسم که می خوام فقط همه اطلاعات پایگاه داده روی سرور باشه . حالا برای این کار بهترین روش کدومه ؟

mehdi.mousavi
یک شنبه 26 اردیبهشت 1389, 11:30 صبح
سلام . در ادامه این بحث گفتید این کار سریع ترین روشه اما بهترین روش نیست . من دارم برنامه ای می نویسم که می خوام فقط همه اطلاعات پایگاه داده روی سرور باشه . حالا برای این کار بهترین روش کدومه ؟

سلام.
متوجه سوالتون نمیشم. لطفا بیشتر و دقیقتر توضیح بدید.

موفق باشید.

donya100
یک شنبه 26 اردیبهشت 1389, 15:18 عصر
می خوام اطلاعات پایگاه داده ام در سرور باشه و برنامه روی کلاینت نصب بشه . برای این کار فقط تنظیم
connection string کافیه . یا اینکه لازمه از winsock یا روش دیگه ای استفاده بشه ؟

mehdi.mousavi
یک شنبه 26 اردیبهشت 1389, 15:30 عصر
می خوام اطلاعات پایگاه داده ام در سرور باشه و برنامه روی کلاینت نصب بشه . برای این کار فقط تنظیم connection string کافیه . یا اینکه لازمه از winsock یا روش دیگه ای استفاده بشه ؟

بله. تنظیم Connection String (و البته Config کردن SQL Server، همونطور که قبلا هم اشاره کردم) کافی هستش.

behrouz_n
یک شنبه 26 اردیبهشت 1389, 18:57 عصر
چنین برنامه ای رو میشه روی یک سیستم تست کرد؟

mehdi.mousavi
یک شنبه 26 اردیبهشت 1389, 19:02 عصر
چنین برنامه ای رو میشه روی یک سیستم تست کرد؟

البته که میشه. کافیه تا Virtual Box (http://www.virtualbox.org/)، Virtual PC (http://www.microsoft.com/windows/virtual-pc/default.aspx) (یا از این دست نرم افزارهای فراهم کننده Virtual Machine، البته این دو تا یی که نام بردم رایگان هستن، اما من Virtual Box رو ترجیح میدم) روی دستگاهتون نصب کنید، سپس Windows جدیدی در اونها نصب کنید و همزمان بتونید بطور منطقی با دو ماشین (یا حتی بیشتر) کار کنید. روی Virtual Machine خودتون SQL Server (یا هر RDBMS دیگه ای که مایلید) رو نصب کنید و روی دستگاه اصلی، برنامه خودتون رو برای متصل شدن به اون Virtual Machine طبق توضیحاتی که دادم Config کنید.

موفق باشید.