PDA

View Full Version : منظور از ریموت چیست



سعید20
دوشنبه 20 آذر 1385, 17:41 عصر
در بحث دیتا بیس واژه ریموت به چه عنوان هست و واقعا به چه دردی میخورد

rezaTavak
سه شنبه 21 آذر 1385, 09:02 صبح
یعنی اینکه بانک روی یک سرور است و شما با پورتها با اون ارتباط برقرار کنید.

یک معنی دیگه اینکه از طریق ODBC بانک از نوع دیگر را در فاکس باز کنید.

سعید20
پنج شنبه 23 آذر 1385, 22:27 عصر
اگر اطلاعات در سرور باشد و درایوی که اطلاعات در آن میباشد را در اختیار کاربران دیگر بگذاریم و کابران به آن اطلاعات بصورت کامل دسترسی داشته باشند دیگر چه نیازی به ریموت داریم . یا به عبارت دیگر ریموت یعنی همین کاری که انجام دادیم اگر فرق میکند توضیح دهید متشکرم

rezaTavak
جمعه 24 آذر 1385, 10:00 صبح
مثال اول: شما چگونه یک بانک از نوعی دیگر را در فاکس باز می کنید؟ آیا می دانید که MySQL,SQLServer,Oracle,mSQL,DB2,... فقط مدیران بانک هستند و مانند فاکس نمی توانید در آنها برنامه نویسی کنید. شما با ODBC اینها را باز می کنید و از دستورات SQL با این بانکها ارتباط دارید. به عبارت دیگر یک فایل MDB در فاکس باید از طریق ODBC باز شود. در واقع ODBC توسط یک dll توسط ویندوز در حال اجرا است. وقتی شما درایور بانک اطلاعاتی مانند MySQL را نصب کنید و MySQL در حال اجرا باشد شما در فاکس به بانکهای آن از طریق ODBC دسترسی دارید. یعنی فاکس از طریق پورتها به بانک دسترسی پیدا میکند. این دقیقا کاری است که بیسیک دلفی و سی و جاوا و... برای ارتباط با بانکها از آن سود می جوید.
می دانید که فاکس فقط قادر است که با DBF کار کند و با اینکار شما هر درایوری از ODBC را داشته باشید آن بانک هم توسط فاکس قابل مدیریت است.

مثال دوم: بانک از نوع dbf در سروی که ODBC بر روی آن نصب است در حال کار است شما فقط از طریق پورتها با آن ارتباط دارید.

مثال سوم: روی سرور یونیکس MySQL در حال اجرا است شما اگر دسترسی مجاز به آن داشته باشید به راحتی به داده های آن دسترسی دارید. حتی در اینترنت هم اگر دسترسی داشته باشید می توانید این کار را انجام دهید.



اما کاری که شما از آن صحبت میکنید SHARE است. یعنی مشترک کردن فایلها در شبکه. این دقیقا مانند این است که شما با فایلی از هر نوع در ارتباط باشید نه بانک اطلاعاتی. یعنی شما میتوانید فایلهایتان را در یک جا قرار دهید که همه در شبکه با آن کار کنند. که نیازی به هیچ نرم افزار مدیریت بانک اطلاعاتی اضافی نخواهد بود و شما فقط با dbf ها کار خواهید کرد.

سعید20
جمعه 24 آذر 1385, 14:53 عصر
از راهنمایی شما بسیار سپاسگزارم

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

rezaTavak
شنبه 25 آذر 1385, 09:29 صبح
بله دقیقا کار و روش خوبی است.
اما در بحث remote مسئله امنیت هم مطرح است. یعنی شما باید اجازه دسترسی به بانک را به هر کسی ندهید. مثلا در ارتباط با بانک MySQL در هر تراکنش رمز و نام کاربری باید ارسال شود.

rezakhj
پنج شنبه 30 آذر 1385, 10:40 صبح
از راهنمایی شما بسیار سپاسگزارم

من برنامه تحت شبکه طراحی کرده ام . دیتابیس و جداول آن را در فولدری در سرور قرارداده ام و آن را برای بقیه share کرده ام و برنامه ها را بخاطر اینکه با سرعت بهتری اجرا بشن در استیشن ها نصب کرده ام و کاربران برای اجرای برنامه به آن فولدر کانکت میشوند

آقا سعید 20
میشه لطف کنید توضیح دهید ارتباط نرم افزار روی استیشن با بانک روی درایو share شده را چگونه برقرار کرده اید ؟ منظورم اینست که در نرم افزار آدرس دیتابیس را چگونه معرفی کردید .
یا همان کانکت را چگونه برقرار کردید ؟
لطفا با جزئیات توضیح دهید من الان کاملا به این مورد نیاز دارم

rezaTavak
پنج شنبه 30 آذر 1385, 21:49 عصر
کافیه آدرس را اینطوری بدهید؛



\\192.168.0.1\Foxpro\Dbfs\Personal.dbf

که آدرس آی پی در شبکه ویندوزی (سامبا) و آدرس فلدر نهایی و نام جدول است.

mehran_337
شنبه 02 دی 1385, 17:40 عصر
من هم پس از share کردن پوشه dbf در سرور در فایل config.fpw هر استیشن این را می نویسم :
path = '\\server\dbf'
که server نام کامپیوتر سرور است و پوشه dbf همان پوشه ایست که همه جداول در آن است
حالا از هر سیستمی می توانم جداول را با use باز کنم

Esikhoob
چهارشنبه 15 فروردین 1386, 21:24 عصر
دوستان ما در برنامه مان مانند شما DBF .ها را روی سرور قراردادهایم ولی ما نیاز داریم که بعضی از دستورات توسط خود سرور انجام شود تا مطمئن شویم تغییرات به علت اختلالات شبکه ، ناقص ذخیره نشود . در واقع ما هدفی را دنبال میکنیم که دستور TRANSACTION برای آن ساخته شده.
آیا اگر من در برنامه م از TRANSACTION استفاده کنم ، امکان اینکه یک تغییر ثبت شود و دیگری نه، وجود دارد؟
اگر مکانیزمی وجود داشته باشد که کد روی سرور اجرا شود ، امنیتش به نظر ما که چیز دیگری میشود.
با تشکر

kia1349
پنج شنبه 16 فروردین 1386, 07:11 صبح
تنها در حالتی اطلاعات یک یوزر ذخیره و دیگری رد میشود که هر دو بر روی یک داده مشترک کار کنند و مکانیزم ارتباط میان آنها کانفیلیکت همزمان را ساپورت کند مانند ارتباط ado connection که میتوان از طریق adoconfilict داده های ثبت نشده را مدیریت کرد

Esikhoob
پنج شنبه 16 فروردین 1386, 17:18 عصر
نه دوست عزیز منظورم conflict دو کاربر نیست.
مثلا در برنامه بانک ، قرار است برنامه در دستور اول از حساب فلان شخص کم کند و در دستور بعدی آن پول را به حساب شخص دیگری اضافه کند ، حالا اگر دستور اولی با موفقیت انجام شود و نوبت اجرا به دستور بعدی برسد ؛ در این لحظه شبکه خراب شود ،یعنی پول از حساب شخص کم شده ولی به حساب مقصد واریز نشده است. در این حالت ما می خواهیم تغییر اولی نیز از بین برود و همه چیز برگردد به همان صورت که قبل از اجرای برنامه بوده.

rezaTavak
پنج شنبه 16 فروردین 1386, 18:48 عصر
این مشکل را اینطور میشه حل کرد که رابطهای بانکهایی مثل mySQL استفاده کنید که بهتر از فاکس عمل میکنند.


در فاکس منطقا اگر اولی و دومی باهم باید انجام شود و بعد بانک update شود.

Esikhoob
جمعه 17 فروردین 1386, 17:50 عصر
برای استفاده از رابطهای بانک mySQL ، آیا کل پایگاه داده را باید به mySQL تبدیل کنیم؟ یا یک دستور خاص است؟



در فاکس منطقا اگر اولی و دومی باهم باید انجام شود و بعد بانک update شود.

منظورتان استفاده از buffering است؟یکچیزی مانند این برنامه:

a = CURSORSETPROP("BUFFERING",5) && use optimistic table buffering
BEGIN TRANSACTION
SEEK M.ACCOUNT1
REPLACE BALANCE WITH BALANCE - M.AMOUNT
SEEK M.ACCOUNT2
REPLACE BALANCE WITH BALANCE + M.AMOUNT
llSUCCESS = TABLEUPDATE(.T.)
IF llSUCCESS
END TRANSACTION
ELSE
ROLLBACK
ENDIF llSUCCESS

rezaTavak
جمعه 17 فروردین 1386, 21:08 عصر
دقیقا همین منظورم بود.

Esikhoob
یک شنبه 19 فروردین 1386, 21:21 عصر
و منظور از mySQL ؟

mehran_337
دوشنبه 20 فروردین 1386, 07:40 صبح
خب اونهم یه دیتابیس منیجره که آقای توکل نحوه استفاده از اون رو به طور کامل شرح داده اند
و در سایت بی نیاز هم مقاله ای با همین عنوان درج کردند ...

rezaTavak
دوشنبه 20 فروردین 1386, 08:45 صبح
منظور اینه که کلا بی خیال فایلهای dbf بشید.

Esikhoob
چهارشنبه 22 فروردین 1386, 20:01 عصر
با سلام مجدد

آیا درست است که بگوییم ،" در Transaction ، تغییرات جایی بر روی دیسک در کنار فایل Table به صورت buffer ضبط می شود و وقتی به دستور END TRANSACTON میرسیم ، آن تغییرات بدون معطلی به Table اضافه میشود ."

rezaTavak
پنج شنبه 23 فروردین 1386, 08:52 صبح
توی اینجور کارها برای فهمیدن جزئیات کار بهتر از یک دیدبان شبکه مثل etherreal استفاده کنید و پورت 3306 را نگاه کنیم. (شماره پورت را مطمئن نیستم)

قاعدتا کاری که شما به آن اشاره کرده اید درست است اما بسته به تنظیمات هم دارد. مثلا اینکه fetchsize چقدر باشد و...

Esikhoob
پنج شنبه 23 فروردین 1386, 18:53 عصر
من در Help فاکس پرو نگاه کردم ، Fetchsize ظاهرا در مورد Remote table معنی پیدا میکند ، آیا اگر Table ما یک فایل dbf. عضو یک dbc. باشد ، باز هم fetchsize مطرح است؟
با تشکر فراوان

rezaTavak
پنج شنبه 23 فروردین 1386, 20:43 عصر
نه یک دستور دیگه بود



SET ODOMETER Command