PDA

View Full Version : سوال: استفاده از برنامه در شبکه



farbod61
یک شنبه 05 شهریور 1391, 15:40 عصر
سلام دوستان یه سوال داشتم
من یه برنامه نوشته بودم که چون خیلی پیشرفته نبود و حجم بالایی نداشت از دیتابیس اکسس برای راحتی کارم استفاده کرده بودم
حالا میخوام ببینم چه جوری میتونم از این برنامه توی شبکه داخلی استفاده کنم به صورتی که دیتابیسشون واحد باشه واگه یه یوزر دیتابیس رو تغییر داد بقیه هم این اطلاعات رو مشاهده کنند
چیزی که به ذهن خودم رسید استفاده از کل برنامه توی سرور و گرفتن شرتکات برنامه توی دسکتاپ یوزر ها بود
به نظر شما راه بهتری برای استفاده از دیتابیس اکسس توی سرور هستش؟
ممنون میشم با توضیحات کامل راهنماییم کنید

xminxmin
یک شنبه 05 شهریور 1391, 18:05 عصر
می تونی دیتابیس رو روی یک گامپیوتر (سرور) قرار بدی و در سیستم های دیگه فقط کافیه ConnectionString رو روی سرور قرار بدی!
اینطوری یعنی:
1. در هر سیستم نرم افزار نصب می شود(بدون دیتا بیس)
2. نرم افزار به همراه دیتا بیس روی سرور نصب میشوند
3. سیستم های دیگر بر روی دیتابیس قرارداده شده روی سرور می نویسند و می خوانند.

farbod61
یک شنبه 05 شهریور 1391, 18:08 عصر
می تونی دیتابیس رو روی یک گامپیوتر (سرور) قرار بدی و در سیستم های دیگه فقط کافیه ConnectionString رو روی سرور قرار بدی!
اینطوری یعنی:
1. در هر سیستم نرم افزار نصب می شود(بدون دیتا بیس)
2. نرم افزار به همراه دیتا بیس روی سرور نصب میشوند
3. سیستم های دیگر بر روی دیتابیس قرارداده شده روی سرور می نویسند و می خوانند.

سلام دوست عزیز
ممنونم از وقتی که گذاشتید
امکانش هست یه توضیح درباره این روش بدید؟
چه جوری این کار رو بکنم؟
راستش زیاد حرفه ای نیستم

alimanam
یک شنبه 05 شهریور 1391, 18:19 عصر
با سلام


می تونی دیتابیس رو روی یک گامپیوتر (سرور) قرار بدی و در سیستم های دیگه فقط کافیه ConnectionString رو روی سرور قرار بدی!

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

موفق باشید./

farbod61
یک شنبه 05 شهریور 1391, 18:39 عصر
با سلام



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

موفق باشید./

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

alimanam
یک شنبه 05 شهریور 1391, 18:50 عصر
با سلامی دوباره !


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

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

موفق باشید./

farbod61
یک شنبه 05 شهریور 1391, 18:55 عصر
با سلامی دوباره !



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

موفق باشید./

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

xminxmin
یک شنبه 05 شهریور 1391, 19:19 عصر
تا جایی که میدونم اکسس این قابلیت رو نداره که بخواد به این صورت مورد استفاده قرار بگیره , لطفاً اگر اطلاعات خاصی دارین بزارین استفاده کنیم .

موفق باشید./

درست می گید. معذرت می خوام من به این موضوع دقت نکردم که دیتابیس اکسس هست... منظور من همون SqlServer بود نه اکسس. باز هم ممنون

xminxmin
یک شنبه 05 شهریور 1391, 19:30 عصر
خب من برنامم رو خیلی وقت پیش نوشتم و کلی توش اطلاعات هستش الان
یعنی نمیشه با همین اکسس که دارم یه کاریش کرد؟
حتما باید اس کیو ال باشه؟
...


1. حتما نباید SqlServer باشه. حتما باید پایگاه داده ای باشه که قابلیت شبکه شدن را داشته باشه که SqlServer یکی از اوناس و البته یکی از قدرتمندترین اونا!

2. نگران اطلاعات وارد شده نباشد چون برنامه هایی هست که دیتابیس َاکسس رو به اسکیوال تبدیل میکنه بدون تلفات !!!

3. کار با اسکیوال اصلا سخت نیست! در اصل به راحت ترین شکل ممکن این امکان رو فراهم کرده. ببینید شما برنامه رو ابتدا طوری بنویسید که انگار دارید برای همون یک سیستم Local می نویسید. برنامه که تموم شد فقط کافیه اون ConnectionString ای که برای Local تعریف کردید رو ویرایش جزئی بکنید و آدرس پایگاه داده رو به IP یا Name سرور تغییر بدید.
اینطوری شما فقط در کل شبکه در یک سیستم که سرور باشه نرم افزار SqlServer رو نصب و بانک اطلاعات رو قرار می دید و در سیستم های کلاینت اصلا نصب نمی کنید. کلاینت ها مستقیما با پایگاه داده سرور ارتباط پیدا می کنن(طبق همون ConnString ای که آدرس دهی کردی براشون) و بطور مستقیم اطلاعات رو خوانده و یا می نویسند!
فکر کنم دیگه انقدر توضیح دادم که تهش دراومد! :کف:

4. با یه برنامه نمونه که فراوان یافت می شه می تونید کار با SqlServer رو یاد بگیرید فعلا فقط کافیه حذف و اضافه و ویرایش و این کارای ابتدایی رو یاد بگیرید که خیلی آسونه.

سوالی بود در خدمتم

farbod61
دوشنبه 06 شهریور 1391, 08:55 صبح
سلام دوستان
ممنونم از وقتی که گذاشتید
من برنامه نویسی رو تقریبا با بانک اطلاعاتی اکسس بلدم ، البته با روش ساده بایند کردن
میشه یه مرجع فارسی و یا نمونه برنامه به من معرفی کنید که بتونم با اس کیو ال هم بتونم یاد بگیرم

Majid842
دوشنبه 06 شهریور 1391, 11:34 صبح
یک نگاه به این بنداز 9# (http://barnamenevis.org/showthread.php?356669-%D9%BE%D8%B4%D8%AA%DB%8C%D8%A8%D8%A7%D9%86%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A7%D8%B2-%D8%B4%D8%A8%DA%A9%D9%87-%DB%8C-%D9%85%D8%AD%D9%84%DB%8C)

farbod61
دوشنبه 06 شهریور 1391, 12:32 عصر
سلام
ممنونم مجید جان
اینجور که من فهمیدم برای اینکه برنامم حتما و حتما باید اس کیو ال استفاده کنم و باید بیخیال برنامه ای که با اکسس نوشتم بشم
درسته؟
کاش میدونستم از اول
نزدیک یک ماه برای برنامه وقت گذاشتم و با اکسس نوشتمش
جالا دوباره باید از اول شروع کنم
مخم ترکید
مخصوصا اینکه حرفه ای نیستم و تازه برنامه نویسی رو شروع کردم
واووووووووووووو

Majid842
دوشنبه 06 شهریور 1391, 12:46 عصر
شما برای ساختن بانک از Qurey استفاده کن چون میتونی روی تمام نرم افزار های بانک اطلاعاتی اون بانک رو بسازی یک مقدار سخت تر میشه ولی توی پرژه موفق تر هستی !
اگر شما برای نصب هم روی کلاینت ها هیچ نوع ورژنی از SQl رو نیاز نداری


موفق باشی یا علی !

farbod61
دوشنبه 06 شهریور 1391, 12:56 عصر
میشه یکم بیشتر توضیح بدید؟
یعنی چی از Qurey استفاده کنم؟

Majid842
دوشنبه 06 شهریور 1391, 13:39 عصر
مثلا برای ساخت بانک از دستور Create Database [DBname]
برای جداول از Create Table [tbname]
شما میتونی این دستورات SQl را برای ساخت اکثر بانک های اطلاعاتی استفاده کنی مثل اکسس , SQl ,و.....
یک نکته دیگه ای که میتونم بگم اگر شما از SQL استفاده میکنی سعی کن از SP استفاده کنی خیلی رو سرعت برنامه کمک میکنه وسرعت خیلی بالاتر داری !!

Majid842
دوشنبه 06 شهریور 1391, 13:43 عصر
شما اگر بانک رو با اکسس(یا هرنوع بانکی) طراحی کردی میتونی با خود SQL بانک رو به SQL<==>Access تبدیل کنی خیلی راحت سریع !!
یک جستجو درباره تبدبل بانک بکن!!!

h_a_m_i_d
سه شنبه 07 شهریور 1391, 15:06 عصر
سلام خدمت دوستان عزیز
سلام دوست عزیز شما هیچ احتیاجی به تبدیل بانک اطلاعاتی نداری
شما میتونی با بهره بردن از همون بانک اکسس برنامت رو درست کنی
فقط تنها کاری که باید بکنی اینه که از winsock استفاده کنی
به این صورت که برنامه هات به دو صورت کلاینت و سرور ساخته میشه(با کمی تغییر در سورست)
و روش کار هم به این گونه است که شما از کلاینتتون یک دستور sql به بانک اطلاعاتی خودتون میفرستین و پردازش در همان برنامه انجام میشود و سپس پاسخ به برنامه کلاینت ارسال میشود.
یک مثال هم میزنم که دقیق متوجه بشی

مثلا ما دو کامپیوتر داریم که در یکی برنامه سرور و یکی برنامه کلاینت نصب شده و برنامه مربوط به دفترتلفن هست
ما در کامپیوتر کلاینت به سرور دستور میدهیم که اطلاعات شخصی به نام حمید را برای ما بفرسته(select * from tbl where fname='hamid')
بعد برنامه سرور این پیامو دریافت میکنه و اطلاعات کاربری شخص مورد نظر رو پیدا میکنه و بعد با یک شیوه خاص (ارسال پشت سر هم یا جدا جدا) به سمت کلاینت میفرستین
و وجه تمایزش اینه که
1-کلاینت ها نیاز به سیستم بالایی ندارند چون که فقط جواب را نمایش میدهند و پردازش به عهده سرور است
2-امنیت بالاتر زیرا بانک اطلاعاتی در شبکه share نمیشود
و ...
اگر در مورد برنامه نویسیش مشکل داشتی بگو تا راهنماییت کنم
امیدوارم کمکت کرده باشم
موفق باشید

Majid842
سه شنبه 07 شهریور 1391, 18:13 عصر
اگر میتونی که بانک رو عوض کنی یا اینکه بانک شما پر هستش ودیگر راهی ندارید میتونید از روش آقا حمید که در بالا فرمودند استفاده کنید که معمولا روش مناسبی هستش!!
حالا اگر شما بانک رو می خواهی دوباره توسط SQL پیاده سازی کنی امکانات و سرعت بهتر نسبت به Access داری و کارایی و فشار برنامت تمام روی SQL میتونه باشه !!
این هم یک راهنمایی کوچک!!

farbod61
سه شنبه 07 شهریور 1391, 18:40 عصر
ممنونم از شما دوستان گلم
راستش این درگیری من با این سیستم تا جایی پیش رفته که تا مدیریت کارخونه هم کشیده شده
من اول این برنامه رو برای بانک اطلاعات شخصی خودم درست کرده بودم
بعد یه اشتباهی کردم محض پاچه خواری تو یه جلسه نشونش دادم
مدیریت هم از اون روز پدر من رو در آورده و میگه این رو باید شبکش کنی
ممنون میشم در مورد اون روشی که برای اکسس گفتید بیشتر توضیح بدید
یعنی این انجام بشه یه بار بزرگی از دوشم برداشته میشه
راستش یه مشکلی هم هستش من زیاد از شبکه و برنامه هایی که تو شبکه قرار میگیرن اطلاعات زیادی ندارم
به خاطر همین اگه کلی توضیح بدید فکر کنم نتونم متوجه بشم
البته تا همینجاشم تشکر میکنم بابت وقتی که گذاشتید
ولی ممنون میشم یکم به من به عنوان یه مبتدی توضیح بیشتری بدید
من رشتم مکانیک هستش و زیاد اطلاعی در مورد شبکه ندارم
بازم ممنونم

GGRRSS_2
چهارشنبه 08 شهریور 1391, 20:25 عصر
چرا ميگوييد نمي شود از اکسس در شبكه استفاده كرد از يك فايل معمولي هم ميشود استفاده كرد
در صورت نياز برايم پيام بگذريد

alimanam
چهارشنبه 08 شهریور 1391, 21:03 عصر
با سلام


چرا ميگوييد نمي شود از اکسس در شبكه استفاده كرد از يك فايل معمولي هم ميشود استفاده كرد

دوست عزیز شما ظاهراً Share کردن رو با عنوان تاپیک اشتباه گرفتین ! کسی نگفته فایل رو نمیشه در شبکه استفاده بکنیم مگه الان که تو سایت هستین و فایل دانلود میکنین از این قابلیت استفاده نمیشه ؟! منظور ما استفاده کردن از اکسس به عنوان یک پایگاه داده با پشتیبانی مولتی یوزر در شبکه هست نه چیز دیگه ! شما اگر اطلاعات دیگری دارین بفرمائین تا همه استفاده کنیم .

موفق باشید./