arashkhaan2002
سه شنبه 30 آذر 1389, 23:31 عصر
با سلام خدمت دوستان گرامی
بالاخره بخاطر فشار مشتریان مجبور شدم که دیتابیس نرم افزارم رو SQL SERVER کنم.
این کار میبایستی با حداقل تغییرات در برنامه نویسی سیستم با بانک اطلاعاتی فاکس انجام میشد.
بر روی ویندوز سرور 2003 نرم افزار SQL SERVER 2005 رو نصب کردم و بانکهای اطلاعاتی فاکس به راحتی Import شد. حالا تمام اطلاعات و بانک های فاکس رو روی SQL SERVER دارم.
از طریق ODBC کانکشن ساختم و از روی اون تمام بانکهای اطلاعاتی فاکس رو به صورت REMOTE VIEW در نرم افزارم ADD کزدم (طبیعتا با همون اسامی).
تا اینجا احتیاج به هیچ تغییری در سورس برنامه ندارم اما...
در سورس فعلی هنگام ثبت سند اول سیستم بانک DBFرو FLOCK میکرد تا کسی نتونه توش بنویسه ، بعد میرفت آخرین شماره سند رو یکی بهش اضافه میکرد و میشد شماره سند جدید و سپس اون رکوردها رو insert میکرد.
مشکل اینجاست که در حالت REMOTE VIEW ماچطور میتونیم اینکار رو بکنیم ؟
تنها کار ممکن اینه که یک دستور REQUERY() بزنیم تا REMOTE VIEW به روز رسانی بشه اونوقت شماره جدید رو بگیریم و در REMOTE VIEW عملیات insert رو انجام بدیم و سپس با دستور TABLEUPDATE() اطلاعات جدید ثبت شده در REMOTE VIEW رو به بانک SQL منتقل کنیم .
2 مشکل وجود داره
1- در حین این کار چون بانک اصلی SQL قفل نیست نفر دیگری هم همین کار رو انجام بده و با همین شماره سند ثبت کنه
2- دستور REQUERY() که برای بروز کردن REMOTE VIEW استفاده میشه سرعت کار رو کند میکنه و از نظر سرعت کار تغییری با حالت DBF بودن بانک نداره که هیچ ، یکمی هم بیشتر طول میده .
راه چاره چیه؟
اگر دوستان در این موارد تجربه ای دارن بگن که برام این کارحیثیتی شده...
ممنون...
بالاخره بخاطر فشار مشتریان مجبور شدم که دیتابیس نرم افزارم رو SQL SERVER کنم.
این کار میبایستی با حداقل تغییرات در برنامه نویسی سیستم با بانک اطلاعاتی فاکس انجام میشد.
بر روی ویندوز سرور 2003 نرم افزار SQL SERVER 2005 رو نصب کردم و بانکهای اطلاعاتی فاکس به راحتی Import شد. حالا تمام اطلاعات و بانک های فاکس رو روی SQL SERVER دارم.
از طریق ODBC کانکشن ساختم و از روی اون تمام بانکهای اطلاعاتی فاکس رو به صورت REMOTE VIEW در نرم افزارم ADD کزدم (طبیعتا با همون اسامی).
تا اینجا احتیاج به هیچ تغییری در سورس برنامه ندارم اما...
در سورس فعلی هنگام ثبت سند اول سیستم بانک DBFرو FLOCK میکرد تا کسی نتونه توش بنویسه ، بعد میرفت آخرین شماره سند رو یکی بهش اضافه میکرد و میشد شماره سند جدید و سپس اون رکوردها رو insert میکرد.
مشکل اینجاست که در حالت REMOTE VIEW ماچطور میتونیم اینکار رو بکنیم ؟
تنها کار ممکن اینه که یک دستور REQUERY() بزنیم تا REMOTE VIEW به روز رسانی بشه اونوقت شماره جدید رو بگیریم و در REMOTE VIEW عملیات insert رو انجام بدیم و سپس با دستور TABLEUPDATE() اطلاعات جدید ثبت شده در REMOTE VIEW رو به بانک SQL منتقل کنیم .
2 مشکل وجود داره
1- در حین این کار چون بانک اصلی SQL قفل نیست نفر دیگری هم همین کار رو انجام بده و با همین شماره سند ثبت کنه
2- دستور REQUERY() که برای بروز کردن REMOTE VIEW استفاده میشه سرعت کار رو کند میکنه و از نظر سرعت کار تغییری با حالت DBF بودن بانک نداره که هیچ ، یکمی هم بیشتر طول میده .
راه چاره چیه؟
اگر دوستان در این موارد تجربه ای دارن بگن که برام این کارحیثیتی شده...
ممنون...