PDA

View Full Version : چند سیستم و یک برنامه!!



amir-haghighi
چهارشنبه 01 خرداد 1387, 18:46 عصر
به یاد او::
من میخوام یک پروژه واسه یک شرکت آماده کنم.

قراره که این برنامه روی چند تا سیستم نصب بشه.خوب من مشکلم اینه که اگه قرار باشه یک سری تغییرات در دیتابیس به وجود آمد چی کار باید بکنم که سیستمهای دیگه هم این تغییرات رو بشناسن؟
با بهتر بگم چند تا سیستم که از یک دیتابیس برای برنامه استفاده میکنن.

یا بازم بهتر بگم:لبخند: یک دیتابیس که برای یک برنامه روی چند تا سیستم مورد استفاده قرار بگیره.

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

خوب من میخوام بدونم که آیا این روش یک روش صحیح هست؟

و ساده ترین روش برای انجام این کاری که من میخوام انجام بدم چیه؟

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

Mahdi.Kiani
چهارشنبه 01 خرداد 1387, 19:17 عصر
به یاد او::
من میخوام یک پروژه واسه یک شرکت آماده کنم.

قراره که این برنامه روی چند تا سیستم نصب بشه.خوب من مشکلم اینه که اگه قرار باشه یک سری تغییرات در دیتابیس به وجود آمد چی کار باید بکنم که سیستمهای دیگه هم این تغییرات رو بشناسن؟
با بهتر بگم چند تا سیستم که از یک دیتابیس برای برنامه استفاده میکنن.

یا بازم بهتر بگم:لبخند: یک دیتابیس که برای یک برنامه روی چند تا سیستم مورد استفاده قرار بگیره.

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

خوب من میخوام بدونم که آیا این روش یک روش صحیح هست؟

و ساده ترین روش برای انجام این کاری که من میخوام انجام بدم چیه؟

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

top7news
پنج شنبه 02 خرداد 1387, 01:39 صبح
بله باید یک سرور داشته باشین و چند تا کلاینت و اگه برای شبکه سازی و شبکه مردن مشکل داشتی حتما مطرح کن که اگه تونستم راهنمایی کنم
ضمنا پیشنهاد میکنم یکم اول کار سرعتتو ببری بالا و یه نمونه ائلیه بسازی و پیاده سازیش کنی تو شبکه که آخر کارت نمونی توش

amir-haghighi
پنج شنبه 02 خرداد 1387, 10:02 صبح
به نام او::


ضمنا پیشنهاد میکنم یکم اول کار سرعتتو ببری بالا و یه نمونه ائلیه بسازی و پیاده سازیش کنی تو شبکه که آخر کارت نمونی توش


من هم خودم همین فکر به سرم زد.که یک برنامه خیلی کوچولو بنویسم که مثلا یک جدول داشته باشه با یه سطر و سطون همون رو روی یک شبکه ازش استفاده کنم تا نحوه اینکه باید چطور چند تا سیستم رو به یک دیتابیس متصل کنم رو دستم بیاد.
اما سوال من اینه::

من میخوام ستاپ رو بسازم و اون رو بر روی هر یک از کامپیوتر ها نصب کنم.

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

و اینکه من باید چطور این اطلاعات رو بعد از اینکه فایل ستاپ رو ایجاد کردم به برنامه بدم؟

leilav_1984
پنج شنبه 02 خرداد 1387, 13:50 عصر
نیازی نیست clientها رو تک تک به server پایگاه داده متصل کنید
فقط کافیه این ارتباط رو در ConnectionString برقرار کرده باشید
در اینصورت برنامه رو روی هر کدوم از سیستمهای عضو domain نصب کنید خودش با بانک کار میکنه
فقط در زمان نصب برنامه بانک، مثلا SQL Server، حتما امکان Remote connection رو بگذارید

amir-haghighi
پنج شنبه 02 خرداد 1387, 15:42 عصر
به نام خدا::



فقط کافیه این ارتباط رو در ConnectionString برقرار کرده باشید


من هم دقیقا این مسوله رو میدونستم.اما چیزی که واسم جای سوال بود::



فقط در زمان نصب برنامه بانک، مثلا SQL Server، حتما امکان Remote connection رو بگذارید


خوب من اگه این امکان Remote connection رو بذارم و در منزل برنامه رو بنویسم و ستاپ رو منتقل کردم روی سیستم های مورد نر اون وقت در هنگام نصب آیا باید سرور رو به وان معرفی کنم یا اینکه قبل از ایجاد ستاپ باید این کار روبکنم؟

اگه یکی از دوستان لطف کنن و چیزی که در بالا گفتم و در زیر هم نقل قول کردم رو واسم طراحی کنن خیلی ممنون میشم و فکر کنم که مشکلم رو با بررسی ون مثال بتونم که حل کنم.



یک برنامه خیلی کوچولو بنویسم که مثلا یک جدول داشته باشه با یه سطر و سطون همون رو روی یک شبکه ازش استفاده کنم تا نحوه اینکه باید چطور چند تا سیستم رو به یک دیتابیس متصل کنم رو دستم بیاد.

leilav_1984
شنبه 04 خرداد 1387, 10:47 صبح
اگه این امکان Remote connection رو بذارم و در منزل برنامه رو بنویسم و ستاپ رو منتقل کردم روی سیستم های مورد نر اون وقت در هنگام نصب آیا باید سرور رو به وان معرفی کنم یا اینکه قبل از ایجاد ستاپ باید این کار روبکنم؟

امکان Remote Connection جز ویژگیهای سرور بانک هست و ربطی به برنامه نداره...
شما باید اسم سرور بانک رو بدونید و قبل از ساختن Setup اونو تو connection string بذارید و بعد setup رو بسازید.
در اینصورت فقط کافیه Setup مذکور رو روی clientها نصب کنید

ASKaffash
شنبه 04 خرداد 1387, 11:33 صبح
با سلام
دوست من اصلا نگران نباش کار آسانتراز آن است که فکر میکنی شما برنامه خود را با هر زبانی که دلت خواست بنویس خواهی دید که باید با یک ConnectionString به یک پایگاه داده وصل شوی بعدا که خواستی به شبکه وصل شوی تنها کافیست ConnectionString مربوط به اتصال به آن پایگاه داده را بدهی مثل ذیل فقط یک نکته فنی باقی میماند وآن میزان حساسیت در تولید بعضی از مقادیر در بانک شما نظیر شماره نامه در دبیرخانه و ... میباشد که باید تدابیر لازم هم در سطح پایگاه داده وهم در سطح برنامه کاربردی ایجاد گردد

Provider=SQLOLEDB.1;Password=.....;Persist Security Info=True;User ID=....;Initial Catalog=....;Data Source=......
Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=....;server=.......

amir-haghighi
شنبه 04 خرداد 1387, 20:27 عصر
به نام او::


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



منظورتون رو خوب متوجه نشدم؟

رضا عربلو
شنبه 04 خرداد 1387, 20:27 عصر
اگر برنامه ات زیاد تغییر می کند و نیاز مندی های خاصی ندارد می توانی برنامه را در روی یک Share Folder قرار دهی و نیازمندی های آن (از قبیل دات نت فریم ورک و کریستال ریپورت) را برای کلاینت ها نصب کنی. مزیت این روش مخصوصاً هنگامی است که تعداد کلاینت ها زیاد می باشند.

allameh
یک شنبه 05 خرداد 1387, 08:48 صبح
سلام

من خودم این سرویس را نوشتم دو راه داره:
1-موقع setup ورودی سرور و نام database را بگیری و connection string را بسازی
2- از app.config به طور پیش فرض تنظیم کنی و بعد دستی تغییر دهی

راه اول بهتره

top7news
یک شنبه 05 خرداد 1387, 09:10 صبح
سلام به دوست عزیز امیر حقیقی
تمام این راه هایی که دوستان گفتن خوب و درسته
یه راه دیگه هم من بهت میگم برای کار روی خود شبکه داخلیت چون خودمم دارم این سیستک رو پیاده سازی می کنم
بعد از اینکه Connection String و همه کارای نرم افزاری و کردی تو شبکه ای که می خوای برنامه ات اجرا بشه حتما به یک سرور و چند تا کلاینت نیاز داری که باید Ip Address و Default Gateway اونها رو ست کنی تا بتونی به سرور دستیابی داشته باشی
حالا اینجا من یه راه ساده بهت نشون میدم ، سرورت رو DHCP تعریف کن (از این پروتکل استفاده کن) و کلاینت ها رو روی حالت اتوماتیک بذار ، موقعی که شبکه راه بیافته چون داخلی هست ، تکام کلاینتها بدون مشکل به سرور وصل میشن و دیگه نیازی به دردسرهای احراز هویت نداری.این یه راه حل عملی و خیلی راحته ، امیدوارم به درد توام بخوره.
در مورد تعریف Connection String هم یه تاپیک تو سایت هست که نحو تعریف فقط یه Connection String رو توضیح داده ، ازش میتونی بخوبی استفاده کنی ، هر چند که خود من از app.Config استفاده کردم و راحت جواب داده .
یا حق

ASKaffash
دوشنبه 06 خرداد 1387, 07:48 صبح
با سلام
اگر بخش ConnectionString منظور شما ست با پایگاه داده های شبکه کافیست برنامه خود را تحت Local بنویسید وسپس با تغییر ConnectionString ها بصورت دستی یا پویا تحت شبکه نصب کنید
ولی اگر منظور بخش حساسیت است مدیریت بعضی از فیلدها مثل شماره نامه دبیرخانه و شماره کارمندی و.. اگر کلید در جدول مربوطه نباشند نیاز به کنترلهای نرم افزاری بیشتری مثل عدم تکرار وهمزمانی در شبکه خواهند داشت

amir-haghighi
سه شنبه 07 خرداد 1387, 16:31 عصر
به نام او::



اگر برنامه ات زیاد تغییر می کند و نیاز مندی های خاصی ندارد می توانی برنامه را در روی یک Share Folder قرار دهی


خوب یه کم بیشتر توضیح میدید؟

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

در هر صورت من چون تا به حال این کار ها رو انجام ندادم واسم یه کم گنگه اگه میشه من رو راهنمایی بکیند.
با تشکر.

amir-haghighi
چهارشنبه 23 مرداد 1387, 15:25 عصر
به ياد او::

خوب برداشت كلي كه من از جواب دوستان كردم اين هست:

يك ديتابيس دارم كه روي سرور ميمونه و كلاينتها به اون دسترسي دارن.


فقط نحوه اتصال به ديتابيس به كمك فايل app.config رو من بلد نيستم.لطفا راهنمايي كنيد.

bpzone
جمعه 20 دی 1387, 18:08 عصر
با سلام
من نمی تونم توی شبکه به SQL SERVER کانکت بشم ...
تمام مطالبی رو هم که توس سایت دوستان اعلام کرده بودن . بررسی کردم ولی بازم نشد ...


من کانکشن های زیر رو امتحان کردم ... ولی همه یک ایراد رو میگیرن ...

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


Data Source=Behrooz;Initial Catalog=MCI;Integrated Security=True ; User=sa ; Password=1

data source="192.168.0.1";workstation id="192.168.0.2";pwd=1;packet size=4096;integrated security=SSPI;user id=Behrooz;persist security info=False;initial catalog=MCI

Server=192.168.0.1;Database=MCI;User ID=sa;Password=1;Trusted_Connection=False;

server=192.168.0.1;database=MCI;user id=sa;password=1;




ایراد گرفته شده


An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

rasti_web
پنج شنبه 31 اردیبهشت 1388, 10:21 صبح
من هم همین مشکل را دارم.لطفا راهنمایی کنید