PDA

View Full Version : گفتگو: dbExpress بهتر است یا ADO ؟



BORHAN TEC
یک شنبه 15 فروردین 1389, 16:24 عصر
سال نو مبارک.:قلب:
فکر می کنم با توجه به عنوان تاپیک نیازی به توضیح اضافه نباشد.

vcldeveloper
یک شنبه 15 فروردین 1389, 17:50 عصر
برای چه کاری بهتر هست؟

حسین شهریاری
دوشنبه 16 فروردین 1389, 10:02 صبح
سلام

از نظر 1- شناخته شده بودن و 2- فزوني منابع ADO پيشنهاد ميشه ولي نبايد گفت كدومشون بهتر هستند چون هر كدوم قابليت خودشونا دارن.شما بايد بنا بر نيازتون ببينيد كدو مشون كار شما را پوشش ميدن.
به عنوان مثال شما وقتي ميخاين ماشين بخريد به چه چيزهايي توجه ميكنيد؟

BORHAN TEC
سه شنبه 17 فروردین 1389, 18:38 عصر
از نظر 1- شناخته شده بودن و 2- فزوني منابع ADO پيشنهاد ميشه ولي نبايد گفت كدومشون بهتر هستند چون هر كدوم قابليت خودشونا دارن.شما بايد بنا بر نيازتون ببينيد كدو مشون كار شما را پوشش ميدن.
به عنوان مثال شما وقتي ميخاين ماشين بخريد به چه چيزهايي توجه ميكنيد؟
تشکر
ولی منظور من توجه به قابلیتها است. مثلاً ADO حالت Connection Less نداره (البته در مورد dbExpress نمیدونم!) می خواستم اگه امکان داره به مقایسه قابلیتهای این دو بپردازیم. از نظر منابع آموزشی dbExpress هم فکر نمی کنم مشکلی باشه چون آقای مارکو کانتو معمولاً همیشه در کتابهایشان یک فصل را به به dbExpress اختصاص می دهند. راستش با توجه به این که گروه دلفی بر روی dbExpress زیاد مانور می دهد می خواستم دقیقاً بدانم که dbExpress بهتر است یا ADO ؟ :متفکر:
آیا کسی میتونه به مقایسه dbExpress و ADO بپردازه؟ :قلب:

--------------------------------------------------------------------------------------------
سخت ترین شرایط زندگی من و تو آرزوی دیگری است!!! (یاس)

vcldeveloper
چهارشنبه 18 فروردین 1389, 01:35 صبح
DBExpress کنترل بیشتری به برنامه نویس میده، اما پیچیدگی آن چه در زمان برنامه نویسی، چه در زمان تحویل پروژه، بیشتر از ADO هست. اساسا برای کاربردهای Enterprise طراحی شده. کارایی DBExpress در سناریوهایی که باید حجم زیادی از داده از بانک خوانده بشه، و نیازی به ویرایش داده های بانک نیست (مثل گزارشگیری) بالا ست، چون کرسرهایی که استفاده میکنه یک طرفه هستند. همچنین DBExpress اساس معماری جدید DataSnap هست، و همچنان هم در حال توسعه هست.

ADO دیگه توسعه داده نمیشه، پس در آینده امکاناتی جدیدی برای آن ارائه نخواهد شد. کار با ADO و نصب برنامه نوشته شده با ADO آسانتر از DBExpress هست. ADO به نسبت DBExpress بانک های اطلاعاتی بیشتری را پشتیبانی میکنه. ADO فقط روی سکوی ویندوز قابل استفاده هست. معمولا در پروژه های کوچیک تا متوسط، به خصوص پروژه های تک کاربره، یا پروژه های Client\Server که برای ویندوز نوشته میشند، و برنامه نویس هم نیاز چندانی به داشتن کنترل زیاد روی انتقال داده ها نداره، ADO مناسب هست.

BORHAN TEC
چهارشنبه 18 فروردین 1389, 07:40 صبح
کارایی DBExpress در سناریوهایی که باید حجم زیادی از داده از بانک خوانده بشه، و نیازی به ویرایش داده های بانک نیست (مثل گزارشگیری) بالا ست، چون کرسرهایی که استفاده میکنه یک طرفه هستند.
کرسرهای یک طرفه ضعف است یا قابلیت ؟!!! :متفکر:
آیا در زمان نوشتن داده ها هم سرعت همچنان بالاست ؟!!! :متفکر: :قلب:

vcldeveloper
چهارشنبه 18 فروردین 1389, 11:11 صبح
کرسرهای یک طرفه ضعف است یا قابلیت ؟!!!
در کار با حجم بالای داده قابلیت هست، چون سرعت حرکت این کرسرها از کرسرهای دو طرفه بیشتر هست، و فشار کمتری هم به سرور وارد می کنند.


آیا در زمان نوشتن داده ها هم سرعت همچنان بالاست ؟!!!
بله؛ کرسر یک طرفه یعنی کرسری که فقط در یک جهت روی داده ها حرکت میکنه، مثلا فقط از رکورد اول تا آخر را پیمایش میکنه، و قابلیت برگشت به رکورد قبلی را نداره. این ربطی به سرعت نوشتن داده ها نداره.

در نرم افزارهایی که از کرسر یک طرفه برای پیمایش رو به جلو و رو به عقب استفاده می کنند، DBExpress رکوردهای مورد نظر را از بانک میگیره، و این رکوردها فقط قابلیت پیمایش رو به جلو را دارند. برنامه کلاینت بخشی از این داده ها را که نیاز داره، از سرور DBExpress درخواست میکنه، سرور DBExpress هم آن بخش از داده را به کلاینت ارسال میکنه. کلاینت آن رکوردها را در یک ClientDataset یا هر دیتاست In-Memory دیگه ایی میریزه، و میتونه روی آنها به عقب یا جلو حرکت کنه. اگر نیاز به رکوردهای بیشتری داشت، دوباره به سرور DBExpress درخواست میفرسته. اگر نیاز داشت رکوردها را تغییر بده، تغییرات را در ClientDataset اعمال میکنه و سپس به سرور DBExpress ارسال میکنه. سرور DBExpress هم تغییرات را در بانک اطلاعاتی اعمال میکنه. یکی از کاربردهای این روش ارسال رکوردها به صورت صفحه به صفحه توسط سرور به کلاینت ها ست.

benyaminrahimi
پنج شنبه 19 فروردین 1389, 23:51 عصر
اگه مشکل انتخاب کامپوننت
نه شرقی نه غربی ....
devart unidac for vcl and .net solution

hasti-jan
جمعه 20 فروردین 1389, 16:35 عصر
هرکسی را بهر کاری ساختند باید ببینی کی برا کجا خوبه