PDA

View Full Version : مهاجرت از ADO به UniDAC



hadisalahi2
چهارشنبه 05 فروردین 1394, 11:50 صبح
سلام به همگی دوستان گلم
عید همگی دوستان مبارک
ان شاالله سال جدید سال خوبی برای همه باشه.

بچه ها من تصمیم دارم از ADO به UniDAC مهاجرت کنم

میخواستم ببینم ، دوستان کسی با این مجموعه کامپوننت کار کرده ؟
تا مزیت ها و معایبش رو نسبت به ADO برای بنده توضیح بده

و اینکه کلا این انتقال ، فکر خوبیه یا نه ؟

ممنون از همگی
یاحق

hp1361
چهارشنبه 05 فروردین 1394, 11:59 صبح
سلام

سال نو شما و دیگر دوستان مبارک. سال پر باری برای همه دوستان باشد ایشالله

پیشنهاد من استفاده از FireDAC هستش. هم خوش دسته و هم اینکه خود دلفی بصورت داخلی ازش ساپورت میکنه

موفق باشید.

hadisalahi2
چهارشنبه 05 فروردین 1394, 12:07 عصر
آیا امکاناتش از UniDAC و ADO بهتر و بیشتره؟اگه امکانش هست بیشتر معرفی کن
ممنون میشم

golbafan
چهارشنبه 02 اردیبهشت 1394, 11:43 صبح
ado رو باید سپرد به دست خاک...

فایرداک هم کتابخانه هایی برای کار نیاز داره

بهترین گزینه همان unidac هست

hadisalahi2
چهارشنبه 02 اردیبهشت 1394, 16:44 عصر
بهترین گزینه همان unidac هست
میشه لطفا یک کم از مزایاش نسبت به ADo , Firedac بیشتر توضیح بدید

golbafan
پنج شنبه 03 اردیبهشت 1394, 11:58 صبح
با یونی داک شما میتونید بدون نیاز به هرگونه کتابخانه ای دیتابیس رو کنترل کنید که بصورت دارکت اکسس ازش اسم میبرن
همچنین اکثر دیتابیسهای رایج رو ساچورت میکنه

شاید مهم تر از همه اینه که شما میتونید با استفاده از سیستم پارامتری دینامیکی که در اون هست با یک نوع کد از تمام دیتابیس ها استفاده کنید
موقعی این مساله قابل تامل میشه که بخواهید انتخاب دیتابیس رو به عهده کاربر بزارید و نرم افزار شما مولتی دیتابیس نوشته بشه
مثل نرم افزارهای حسابداری بزرگ خارجی که کاربر رو مجبور به استفاده از یک نوع خاص دیتابیس نمیکنن!

یکی دیگه از مزایا حالت مولتی پلتفرم بودنه: برای برنامه نویسی در دلفی و C++‎‎‎ و لازاروس و FPC طراحی شده و روی ویندوز مک لینوکس و freeBSD کار میکنه
هم در حالت 32 و هم 64 بیتی...

در هر حال باید بگم تصمیم درستی گرفتی

soft-c
سه شنبه 05 خرداد 1394, 07:56 صبح
با یونی داک شما میتونید بدون نیاز به هرگونه کتابخانه ای دیتابیس رو کنترل کنید که بصورت دارکت اکسس ازش اسم میبرن
همچنین اکثر دیتابیسهای رایج رو ساچورت میکنه

یکی دیگه از مزایا حالت مولتی پلتفرم بودنه: برای برنامه نویسی در دلفی و C++‎‎‎‎ و لازاروس و FPC طراحی شده و روی ویندوز مک لینوکس و freeBSD کار میکنه
هم در حالت 32 و هم 64 بیتی...

خوب firedac هم این امکانات را داره :

FireDAC is a unique set of Universal Data Access Components (http://docwiki.embarcadero.com/RADStudio/XE8/en/Components_%28FireDAC%29) for developing cross-platform database applications for Delphi, C++Builder, and FreePascal. With its powerful common architecture, FireDAC enables native high-speed direct access from Delphi to InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, IBM DB2, SQL Anywhere, Access, Firebird, Informix, and more.

anouri
یک شنبه 01 شهریور 1394, 00:01 صبح
بنده حدود 7-8 سال هست که از ado به ابتدا mydac وسپس به unidac مهاجرت کردم.و الان واقعا از انتخابم راضیم.با یونیدک میتونم به هر نوع بانک اطلاعاتی وصل بشم.همینطور بسیار راحت هست کار کردن باهاش وسرعتش هم از ado بهتره. در مجموع از انتخابتون پشیمون نخواهید شد. ضمن اینکه اگه خواستید در محیط lazarus یا coetyphon کد بنویسید میتونید از این کامپوننت استفاده کنید.

در مورد گزارش ساز هم fastreport واقعا عالیه ضمن اینکه نسخه lazarus هم داره.

خواستید آخرین نسخه این کامپوننتها رو دانلود کنید به سایت downloadly.ir مراجعه کنید.
با تشکر
نوری

khoshblagh
دوشنبه 02 شهریور 1394, 13:06 عصر
با سلام خدمت دوستان
کسی میتونه در قالب یک فرم چگونگی استفاده از آن را توضیح بده. البته Demo آنرا من دیدم . ولی برای من که سالها از ado استفاده نمودم و معمولا با کدهای مورد نظر و پارامتریک اطلاعات را استخراج مینمایم چگونگی آن برایم مبهم است.متشکرم.:خجالت:

BORHAN TEC
پنج شنبه 05 شهریور 1394, 20:57 عصر
با یونی داک شما میتونید بدون نیاز به هرگونه کتابخانه ای دیتابیس رو کنترل کنید که بصورت دارکت اکسس ازش اسم میبرن
همچنین اکثر دیتابیسهای رایج رو ساچورت میکنه

FireDac هم این قابلیت رو داره


شاید مهم تر از همه اینه که شما میتونید با استفاده از سیستم پارامتری دینامیکی که در اون هست با یک نوع کد از تمام دیتابیس ها استفاده کنید
موقعی این مساله قابل تامل میشه که بخواهید انتخاب دیتابیس رو به عهده کاربر بزارید و نرم افزار شما مولتی دیتابیس نوشته بشه
مثل نرم افزارهای حسابداری بزرگ خارجی که کاربر رو مجبور به استفاده از یک نوع خاص دیتابیس نمیکنن!

FireDac هم این قابلیت رو داره ولی برای اینکه کاربر نهایی مجبور به استفاده از فقط یک RDBMS نشه بهتره که از فریم ورکی مثل TMS Aurelius استفاده بشه که واقعاً میتونید این مدل برنامه ها را بسازید و من هم ساختم :لبخند: در این مورد این اصولی ترین روشی هست که بنده تا به امروز کشفش کردم! :چشمک:


یکی دیگه از مزایا حالت مولتی پلتفرم بودنه: برای برنامه نویسی در دلفی و C++‎‎‎‎‎‎‎‎‎ و لازاروس و FPC طراحی شده و روی ویندوز مک لینوکس و freeBSD کار میکنه
هم در حالت 32 و هم 64 بیتی...

FireDac هم این مزایا رو داره ولی باید اعتراف کرد که در این زمینه UniDac تا به اینجای کار قوی تر از FireDac عمل کرده که برای کسب اطلاعات بیشتر میتونید به مقاله زیر که به تازگی منتشر شده مراجعه کنید:
http://tndelphifan.blogspot.co.uk/2015/08/devarts-data-access-components.html

البته بارها گفتم که انتخاب یکی از این دو محصول خیلی سخته چرا که هر دوتاشون واقعاً قوی ظاهر شدن و مثلاً به زودی FireDac از mongoDB هم پشتیبانی خواهد کرد و وارد دنیای Big Data خواهد شد ولی هنوز در مورد پشتیانی UniDac از big data خبری نیست!!! :متعجب:
http://community.embarcadero.com/blogs/blog-menu/entry/coming-soon-to-rad-studio-firedac-nosql-driver-for-mongodb

hadisalahi2
شنبه 07 شهریور 1394, 10:36 صبح
ببخشید شاید این سوال یک کم آماتور باشه
اما در چندین تاپیک از بحث های دوستان که میخوندم با مشکلاتی در فایرداک مواجه بودن از قبیل اینکه ُ باید فایلهای خاصی همراه دیتابیس در سیستم مقصد وجود داشته باشه تا بشه از بانک استفاده کرد
آیا این موضوع صحت داره و اگه داره دقیقا باید چه فایلهایی باشه

اگه فایر داک در حد یونی داک هستش
من ترجیه میدم از فایر داک استفاده کنم ُ چون هر چی باشه از کامپوننت های پیش فرض دلفی شده و نیازی به نصب کامپوننت جدا رو نداره
مچکرم

soft-c
یک شنبه 08 شهریور 1394, 21:25 عصر
اما من فکر می کنم هر چی پروژه را با firedac جلو تر می برم و پروژه سنگین تر و پیچیده تر می شود به خطاهایی بر می خورم که یا قابل حل نیست یا باید کلی وقت بزاری تا شاید بتونی حلش کنی که اونم خیلی از وقت را می گیره و پروژه عقب می افته

Saeid59_m
جمعه 30 بهمن 1394, 07:16 صبح
سلام ولی من قابلیت AsyncConnection که تو Ado وجود داره رو تو UniDac نمی بینم .

hadisalahi2
شنبه 01 اسفند 1394, 06:05 صبح
سلام ولی من قابلیت AsyncConnection که تو Ado وجود داره رو تو UniDac نمی بینم .

کاربردش چیه؟

یوسف زالی
شنبه 01 اسفند 1394, 10:46 صبح
با این قابلیت شما می تونی ران شدن یک کوئری رو به صورت غیر همزمان انجام بدی و در مدت ران شدن کوئری بری بقیه کارات رو انجام بدی!
من از روی همین خصیصه کامپوننت هایی هم ساختم.
بسیار خصیصه به درد بخوریه. امتحانش کنید.

Saeid59_m
شنبه 01 اسفند 1394, 13:29 عصر
بله یه کاربرد دیگش که من دوست دارم اینه که وقتی ارتباط با سرور برقرار نمی شه (به هر دلیل) دیگه برنامه هنگ نمی مونه تا ado جواب بده

Saeid59_m
شنبه 01 اسفند 1394, 13:30 عصر
ولی تو unicdac نیست
یا من بلد نیستم

Mahmood_M
چهارشنبه 05 اسفند 1394, 09:09 صبح
گرچه UniDAC امکان اجرای Asynchronous Executing رو داره اما مشکل انتظار و هنگ کردن و امثال این رو میشه به وسیله ترد ها به راحتی حل کرد
UniDAC به مراتب بهتر از ADO هستش ، مخصوصا در روشهای اتصال به بانک و اینکه Provider ها رو راحت در اختیار قرار میده ، سرعتش در ارتباط های Remote با دیتابیس در سرور کاملا قابل قبوله
به عنوان مثال یک متد عالی به نام RefreshQuick داره که شخصا خیلی به دردم خورده و کارش به این صورته که فقط رکوردهای تغییر کرده ی بانک رو بروز می کنه و نیازی به Refresh کردن کل اطلاعات نیست
تنظیمات بسیار زیادی برای افزایش کارآیی و سرعت بانک - چه در اتصال و چه در پیمایش - داره
در کل ، راحتی کار با این کامپوننت و امکاناتی که داره کاملا به ADO می چربه و نکته دیگه اینکه UniDAC کاملا Thread-Safe هست و می تونید بدون مشکل درون Thread ازش استفاده کنید و مثل ADO نیازی به Initialize یا ... نیست
در مورد FireDAC هم توی تست های انجام شده معمولا کارآیی و سرعت بهتری نسبت به UniDAC داشته اما کار کردن باهاش دردسرهای آزار دهنده ای داره ( اگه قبلش با UniDAC کار کرده باشید ، این دردسرها براتون آزار دهنده میشه )
تنها چیزی که خواستم با UniDAC انجام بدم و راه حلی پیدا نکردم ارتباط با فایلهایی مثل Excel هست که با ADO امکانش وجود داره و در UniDAC تا جایی که من تحقیق کردم امکانش نیست ( که البته با این هدف ساخته نشده )
در کل با توجه به تجربه ای که در کار با این ابزارها داشتم شخصا دلیل خاصی برای ترجیح دادن ADO به UniDAC ندیدم