خب حالا این نکات رو مطرح بفرمایید
خب حالا این نکات رو مطرح بفرمایید
نقل قول: نکات کار در شبکه :
سلام من دربدر دنبال این بحث هابودم که تازه اینجا پیدا کردم
دوستان عزیز و مهران گل ، من هم دقیقا همین مشکلات رو دارم . روشهای اجرائیم در شبکه به همین صورته که شما گفتید ، ولی الان در اجرای سیستمهای اتوماسیون بزرگ مشکلات زیر رو دارم
1- ترافیک کاری بالا سرعت کار با بانک های share روی سرور رو پاویین میاره
2- گزارش گیری ها خصوصا وقتی هم زمان چند کاربر دارن میگیرن یا ثبت اطلاعات میکنن سرعتش بسیار پائین میاد چون میخواد کل اطلاعات رو از روی شبکه از سرور بکشه روی کلاینت و گزارش تهیه کنه .
3- به دلایل فوق کلاینت راه دور که دیگه اصلا با اون سرعت پائینش جواب نمیده.
شما چکارکردید؟
نقل قول: نکات کار در شبکه :
سلام دوستان
اکثر اوقات اطلاعات داخل حافظه کلاینت (مثلا در ناحیه 2 یک dbf یوز شده) حتی من دستور set refresh to 1,1 هم گذاشتم به لحظه نیست و اگر کسی روی یک کلاینت سندی بزنه گاها اتفاق میوفته که کلاینت های دیگه اونو نمیبینن یا بدتر از اون با همون شماره (چون نمیبیننش) سند ثبت میکنن و سندها قاطی یا سند اولیه حذف میشه !
این مشکل وقتی از دستور select Max(field_name) from '\\server\sds\sanad.dbf برای پیدا کردن بزرگترین شماره سند استفاده میکنی کمتر بروز میکنه چون میره از روی خود سرور میخونه البته سرعت کار پائینه ولی دیروز من به جای این دستور ، چون رو فیلد شماره سند cdx داشتم ، از دو دستورselect 2, سپس go botom واسه پیدا کردن بزرگترین شماره سند و اضافه کردن عدد 1 برای ایجاد شماره سند جدید استفاده کردم به جای دستور select max(field_name اغلب سیستمها به مشکل خوردن و شماره های پرت و پلا و چند شماره قبل از آخرین شماره رو به عنوان بزرگترین شماره بعد از دستور go bottom بر گردونده!!! جالبش اینجاست که در بعضی قسمتها فقط یک سیستم داشته سند میزده!!!!!!
خلاصه حسابی آبروم رفته نمیدونم علت چیه.
ضمنا هنگام ثبت اطلاعات ابتدا flock میکنم با Insert اطلاعات رو ثبت و بعدش هم flush force کردهunlock میکنم.
لطفا هرکس میتونه کمک کنه.
ممنون
https://barnamenevis.org/images...ser_online.gif https://barnamenevis.org/images/buttons/report.gifhttps://barnamenevis.org/images/misc/progress.gif
نقل قول: نکات کار در شبکه :
همیشه بعضی پروژه ها بد قلق می شند برای من هم پیش اومده که دستوراتی که توی یه برنامه کمتر از یک ساعت ساخته شدند اما همون دستورات توی یه پروژه دیگه اونقدر آدمو اذیت می کنن که حد نداره مثل روزهایی که از سر صبح آدم بد میاره. بگذریم ...
آرش خان !
بنده قبلا هم عرض کردم بجای اینکه رکورد را قفل کنید بگذارید کاربر ها بطور عادی کار خودشونو انجام بدن . اگر کانفلیگ بوجود بیاد برنامه ارور می ده که با یک برنامه ساده می شه کنترلش کرد مثلا :
if t_err=108 OR t_err=1585 or t_err=109
msg(5,'this record is luck')
TableREVert()
endif
در ثانی وقتی می بینید با dbf در شبکه زیاد کار می شه از mysql استفاده کنید
نقل قول: نکات کار در شبکه :
Sql serverیا mysql? کدوم ورزنش؟
نقل قول: نکات کار در شبکه :
یعنی از طریق vfp odbc driver از بانکهای sql تو فاکس view بسازمو باهاش کار کنم دیگه؟
نقل قول: نکات کار در شبکه :
من sql server 2000 رو نصب کردم و برای آزمایش یکی از dbf هامو توی دیتابیسش import کردم ، بعد اون دیتابیس sql serverرو به odbc اضافه کردم.
بعد داخل پروژه ویژوال فاکس یک دیتابیس ایجاد کردم و یک کانکشن به دیتابیس sql درون odbc زدم و از اون بانک مورد نظر(همون بانک dbf که داخل sql server بردم و import کرده بودم) یک remote view گرفتم.
حالا این view رو در یک ناحیه کاری use میکنم و عین یک بانک عادی باهاش کار میکنم . هر وقت چیزی رو بهش اضافه یا ویرایش میکنم بعدش دستور tableupdate() رو میزنم تو بانک sql server هم اون تغییرات لحاظ میشه.
ولی اگه یه چیزی رو تو بانک sql تغیییر بدم (مثلا کاربر دیگری این تغییر رو داده) ، تا زمانی که view رو در ناحیه کاریش نبندم و دوباره use نکنم view تغییراتش update نمیشه !؟
اگرم از دستور refresh() استفاده کنم پیغام میده که key field ، عuniqe نیست !
برای حل این مشکل باید چکارکرد که اگه کاربر دیگری روی بانک Sql تغییری داد روی view ما update بشه؟
نقل قول: نکات کار در شبکه :
شما فيلد کليديتون بايد منحصربفردباشه.من تست کردم با رفرش مشکلي نيست