PDA

View Full Version : به روزرسانی بانک اطلاعاتی از طریق خط تلفن؟



khafanovich
جمعه 27 آذر 1383, 08:55 صبح
سلام خسته نباشید.
در برنامه ای باید دو جدول از بانک اطلاعاتی بین دو کامپیوتر که فقط از طریق خط تلفن با یکدیگر باید ارتباط برقرار کنند به روز رسانی شود.
پیشنهاد شما چیست؟
لطفا در مورد نوع بانک اطلاعاتی - بهترین شکل ممکن انجام این کار توضیح دهید.
ممنون.

hps
جمعه 27 آذر 1383, 11:44 صبح
اگه بتونى بین دو کامپیوتر ارتباط برقرار کنى (مثل Dial-Up) عملا فرقى نمى‌کنه که از چه روشى استفاده مى‌کنى. فقط مهمه که این دو تا همدیگه رو توى یه شبکه ببینن.

Import/Export مربوط به Microsoft SQL Server بد نیست. قابلیت‌هاى زیادى داره.

khafanovich
جمعه 27 آذر 1383, 17:46 عصر
تمام عملیات ارسال و دریافت اطلاعات باید از طریق برنامه صورت بگیره! دیتا بیس ها باید Upadateبشوند!
ایا این امکان از طریق SQL server فراهم میشود.
البته سیستم ها از نظر امکانات سخت افزاری محدود میباشند. و من مشکلی در برقراری ارتباط تلفنی ندارم.
میخواهم برای کاهش بار سیستم از پارادکس استفاده کنم. در هر اتصال حدود 10 رکورد باید ارسال شود!
چی پیشنهاد میکنید!؟

hps
جمعه 27 آذر 1383, 19:21 عصر
1. Paradox رو فراموش کن.
2. با Import/Export مربوط به Microsoft SQL Server مى‌تونى عملیات رو در یه جور فایل Script ذخیره کنى و اون رو هر چند بار که مى‌خواى اجرا کنى یا Schadule کنى.
3. اگه واقعا این قدر از لحاظ سخت‌افزارى محدودیت دارى که نمى‌تونى SQL Server نصب کنى، فکر کنم مجبور باشى خودت یه چیزى بنویسى.

khafanovich
شنبه 28 آذر 1383, 14:47 عصر
من امکان ارسال و دریافت فایل رو میتونم فراهم کنم....
یکی از دوستان ارسال اطلاعات جدید توسط یک فایل xml رو دادند...به نظر شما چگونه و آیا این راه حل مفید است؟

دنیای دلفی
شنبه 28 آذر 1383, 18:47 عصر
از بانک Dbisam استفاده کن و مشکلات خودت را حل کن . :thnx:

hps
شنبه 28 آذر 1383, 20:24 عصر
این طور که معلومه تصمیم گرفتى خودت یه چیزى بنویسى، درسته ؟ اگه این طور باشه باید همه کارها رو خودت انجام بدى.

اما در مورد XML: این قالب براى نگهدارى اطلاعات خیلى قشنگه (با کلاسه) و براى همین هم آدم رو براى استفاده ازش یه کمى وسوسه مى‌کنه، اما یکى، دو تا ایراد داره مهم‌ترین‌اش هم اینه که باید Parse بشه و بعدش باید با Object Model باهاش کار کنى. در نتیجه هیچى از کارت کم نمى‌کنه که هیچ یه چیزى هم بهش اضافه مى‌کنه.

اگه هنوز هم تصمیم دارى خودت همه کارها رو انجام بدى، بگو تا بحث رو ادامه بدیم.

در ضمن البته DBISAM چیز خوبیه ولى ربط تبادل اطلاعات به DBISAM چیه ؟

khafanovich
شنبه 28 آذر 1383, 22:41 عصر
من هم ربطش رو نفهمیدم....
لطفا سناریوی انجام این کار رو با dbisamتوضیح بدهید.
ممنون.

JavanSoft
یک شنبه 29 آذر 1383, 13:33 عصر
اگه بتونى بین دو کامپیوتر ارتباط برقرار کنى (مثل Dial-Up) عملا فرقى نمى‌کنه که از چه روشى استفاده مى‌کنى. فقط مهمه که این دو تا همدیگه رو توى یه شبکه ببینن.
کاملا صحیح است
Import/Export مربوط به Microsoft SQL Server بد نیست. قابلیت‌هاى زیادى داره.انتقال فایل مشکل آفرین است
برای اینکار اگر خطوط اتصال با سرعت بالا تر از 36KBit در اختیار دارید توصیه می کنم در کلاینت در SQLServer یک Serverجدید بصورت Remote تشکیل دارید
در غیر اینصورت و یا چنانچه Offline مشکلی پیش نمی آورد همان انتقال جداول با تفسیر کد انتخاب بهتری است

hps
یک شنبه 29 آذر 1383, 14:21 عصر
ظاهرا این دوستمون (khafanovich) به خاطر محدودیت‌هاى سخت‌افزارى نمى‌تونه Microsoft SQL Server نصب کنه، وگرنه این کار (تبادل اطلاعات) رو خیلى راحت مى‌تونست با امکانات SQL Server انجام بده.

khafanovich
یک شنبه 29 آذر 1383, 15:36 عصر
سلام دوستان... حالا اگه امکان داره کلا سناریو ی انجام اینکار را بصورت قدم به قدم توضیح دهید....
مشکل دیگر من این است که حتما باید برنامه با یک ایترفیس فارسی عمل شماره گیری را انجام دهد...برای همین فکر نمیکنم بتونم از دایال آپ ویندوز استفاده کنم....
ممنون میشم راهنماییهای کلی را بصورت یک سناریو ساده بیان کنید...
خیلی ممنون.

Delphi KDE
دوشنبه 30 آذر 1383, 01:56 صبح
مشکل دیگر من این است که حتما باید برنامه با یک ایترفیس فارسی عمل شماره گیری را انجام دهد...برای همین فکر نمیکنم بتونم از دایال آپ ویندوز استفاده کنم....

میتونی از کامپوننت TMAGRAS استفاده کنی که نسخه همراه سورسش رو میتونی از torry دانلود کنی
کلی قابلیت دیگه هم داره


موفق باشی :wise1:

khafanovich
دوشنبه 30 آذر 1383, 12:11 عصر
خیلی ممنون من اون کامپوننت رو دانلودش میکنم....
لطفا در مورد نحوه و سناریو انجام عملیات به روز رسانی که در بالا توضیح داده شد ایده بدهید.
در ضمن این کامپوننتی که معرفی کردید اولا با سورس اراپه نشده و دوما مخصوص دلفی 6 میباشد..من نسخه مربوط به دلفی 7 را لازم دارم..اگر میشود بیشتر راهنمایی کنید یا لینک دانلودش رو بگذارید ممنون.

Delphi KDE
سه شنبه 01 دی 1383, 02:23 صبح
توی این سایت میتونی نسخهای مربوط به دلفی 4 تا 7 رو پیدا کنی
http://www.magsys.co.uk/delphi/

khafanovich
سه شنبه 01 دی 1383, 09:09 صبح
ممنون از راهنمایی بسیار ارزشمند شما....
خوب مسله اینترفیس فارسی برای برقراری ارتباط با کامپیوتر دیگر حل شد....
حالا دوستانی که پیشنهاد استفاده از sql server یا dbisam رو داده بودند راهنمایی کنند.
ممنون.

hps
سه شنبه 01 دی 1383, 14:32 عصر
پیش‌فرض‌ها:

1. ارتباط بین کامپیوتر‌ها برقرار شده و امکان تبادل اطلاعات با پروتکل TCP/IP وجود داره.
2. هر رکورد یه شناسه (Id) یکتا داره که مستقل از دستگاهه و روى هر دو کامپیوتر معرف رکوردهاى داراى یک شناسه با هم معادل هستند.
3. یک نوع پروتکل ویژه براى تبادل فایل در اختیار دارى و مى‌تونى با اون یه فایل رو از یه کامپیوتر به کامپیوتر دیگه منتقل کنى (مثل FTP یا یه پروتکل Custom).


گام 1. اطلاعات رو در مبدا Export کن و اون‌ها رو توى یه فایل ذخیره کن، مثلا یه فایل CSV بد نیست، البته اگه Blob یا Memo توى بانک اطلاعاتى‌ات ذخیره نکردى. موقع ذخیره‌سازى رشته‌ها به Encoding اون‌ها دقت کن. بهتره همه اطلاعات رو مثلا به UTF-8 تبدیل کنى (اگه Unicode کار مى‌کنى).

گام 2. اون فایلى که توى گام قبلى درست کردى رو از دستگاه مبدا به دستگاه مقصد منتقل کن (با همون پروتکلى که تو پیش‌فرض 3 بهش اشاره شد).

گام 3. اطلاعات رو در مبدا Import کن. این کار بستگى به منطق برنامه‌ات برمى‌گرده ولى معمولا این طوره که رکورد‌هاى مشترک به روزرسانى مى‌شن، رکوردهایى که تو فایل هستن ولى تو بانک مقصد نیستن اضافه و رکوردهایى که توى فایل نیستن اما توى بانک مقصد هستن حذف مى‌شن. این جاست که اون شناسه واحد (پیش‌فرض 2) به درد مى‌خوره. اگه خواستى تغییرى توى بانک مقصد بدى Transaction یادت نره.


این روش براى هیچ Database خاصى نیست، اگرچه ممکنه بعضى از کارها رو بتونى با مثلا SQL Server ساده‌تر انجام بدى (مثلا کل عملیات Import یا Export از (به) فایل رو مى‌تونى با دستور SQL انجام بدى).

یادت باشه که باید دو تا برنامه بنویسى، یکى براى مبدا و یکى هم براى مقصد. Acknowlegement این دو تا برنامه هم یه مساله‌اى که باید خودت حلش کنى.

khafanovich
سه شنبه 01 دی 1383, 23:01 عصر
بسیار ممنون خیلی ممنون...آیا سورس کدی در زمنینه انجام این کار با وجود داره؟

hps
چهارشنبه 02 دی 1383, 08:40 صبح
آیا سورس کدی در زمنینه انجام این کار با وجود داره؟

این جمله چندان براى من مفهوم نیست، کمى بیشتر توضیح بده.

khafanovich
چهارشنبه 02 دی 1383, 10:48 صبح
منظورم یک sample هست ...البته راهنماییها بسیار عالی بود و من با استفاده از راهنمای دلفی به جاهایی رسیدم.....باز هم ممنون.