مقایسه ADO , ADO.Net - Developer Center
Developer Center




بازگشت   Developer Center > انجمن برنامه نويسان Visual Studio.NET > .Net Framework 1*
ثبت نام راهنما فهرست کاربران تقویم جستجو ارسالهاي امروز نشانه گذاري انجمن ها به عنوان خوانده شده

پاسخ
 
ابزارهای موضوع نحوه نمایش
قدیمی Sunday 29 January 2006, 04:58 PM   #1
VBkar
كاربر عادي
 
VBkar آواتار ها
 
تاریخ عضویت: Tuesday 11 October 2005
نوشته ها: 469
با تشکر: 101
تشکر شده 495 بار 181 پست
VBkar کاربر بسیار مشهورVBkar کاربر بسیار مشهورVBkar کاربر بسیار مشهورVBkar کاربر بسیار مشهورVBkar کاربر بسیار مشهورVBkar کاربر بسیار مشهورVBkar کاربر بسیار مشهورVBkar کاربر بسیار مشهورVBkar کاربر بسیار مشهورVBkar کاربر بسیار مشهور
Post مقایسه ADO , ADO.Net


.............................................
فایل های پیوست شده
نوع فایل: zip Ado&AdoDotNet.zip (76.9 کیلو بایت, 148 نمایش)
VBkar آنلاین نیست.   پاسخ با نقل قول
این کاربران VBkar برای پست مفیدتان از شما تشکر کرده اند
halizadeh (Tuesday 1 July 2008)

.......

قدیمی Sunday 29 January 2006, 07:21 PM   #2
shirzadi
كاربر عادي
 
تاریخ عضویت: Thursday 13 October 2005
نوشته ها: 56
با تشکر: 11
تشکر شده 43 بار 11 پست
shirzadi کاربر عادی
Post

تفاوت هاي بين ADO و ADO.Net
ADO بر اساس معماري Microsoft COM با واسط هاي OLE DB بنا نهاده شده است، در حالي كه ADO.NET بر اساس معماري Microsoft.NET و مشخصأ واسطهاي ADO.NET بنا نهاده شده است. از آنجائيكه معماري .NET كاملأ با معماري COM متفاوت مي باشد، واسطهاي ADO.NET كاملأ متفاوت از واسطهاي ADO و OLE DB مي باشند. اين در ضمن بدين معني است كه Data Provider هاي ADO.NET كاملأ با Data Provider هاي ADO متفاوت مي باشند. قبل از اينكه ما وارد جزئيات بين ADO و ADO.NET شويم، شايد نگاه كردن به تاريخچه اتصال داده مطرح شده در Platform مايكروسافت خالي از منفعت نباشد.

تاريخچه مختصري بروي معماري هاي اتصال داده اي
ODBC- اتصال پايگاه داده اي باز (Open Database Connectivity) اولين تكنولوژي دستيابي به داده مي باشد كه يك واسط مشترك استاندارد از طريق SQL براي دستيابي به پايگاه هاي داده رابطه اي همگن تهيه كرد. بوسيله ODBC، يك كاربرد مي تواند به پايگاه هاي داده مختلف از طريق يك مجموعه ساده اي از كدهاي مشترك دستيابي پيدا كند. توسعه دهندگان جهت متصل كردن كاربرد به داده انتخابي كاربر تنها نيازمند اضافه كردن درايورهاي ODBC مي باشند. امروزه ODBC در ميان بيش از دوازده Platform و چندين پايگاه داده فراهم مي باشد. معماري عمومي آن در شكل 1 بيان شده است:



- معمارى ODBC
DAO- ODBC بيشتر براي برنامه نويسان C و C++ كه مجهز به تكنيك هاي فراخواني سطح پايين مي باشند تدارك ديده شده است. DAO و يا به عبارتي Data Access Object كه بوسيله مايكرسافت تهيه شده است راهي بود كه براي توسعه دهندگان Visual Basic تدارك ديده شد كه بتوانند به سادگي به داده ها دستيابي پيدا كنند. در واقع به برنامه ها اين توانائي داده شد كه بتوانند بدون استفاده از متغيرهاي نوع اشاره گر به پايگاه داده Access متصل گردند (Access نيز به عنوان Jet Engine شناخته شده است). براي استفاده از پايگاه داده هاي ديگر، مي توان DAO، ODBC و Jet Engine را همانند شكل 2 بكار برد.



- معماري DAO
RDO – براي دستيابي به يك دامنه گسترده اي از پايگاه داده هاي رابطه اي با استفاده از DAO، Jet Engine مي بايست فراخواني هاي بين DAO و ODBC را ترجمه مي كرد، كه اين خود معرف يك كاهش كارائي بود. براي غلبه بر اين محدوديت، مايكروسافت Remote Data Object (RDO) را معرفي كرد. RDO بدون طي كردن مسيري از ميان Jet Engine (همانند شكل 3) به ODBC دسترسي پيدا مي كرد.



- معماري RDO
OLE DB – در طي ساليان، ODBC در ارتباط برقرار كردن با پايگاه هاي داده خوب عمل كرد. اما هرچه گذشت داده ها در فرمت هاي غير رابطه اي بيشتر ذخيره گرديدند، همانند Microsoft Exchange Server، بدين سان يك معماري جديدي نياز بود تا يك ارتباط بدون نقصي را در ميان منابع داده اي متفاوت و كاربردهاي مختلف فراهم سازد. OLE DB بلاك سازنده و زيربنائي مدل شئي كامپوننت براي ذخيره سازي و بازيابي ركوردها مي باشد و درواقع دستيابي يكساني را به پايگاه هاي داده رابطه اي، غير رابطه اي و منابع داده اي غير ساخت يافته در ميان تاسيسات مختلف فراهم آورده است. OLE DB پيرو موفقيت ODBC معرفي گرديد. معماري اين تكنولوژي در شكل چهار بيان شده است:



- معماري OLE DB
ADO- OLE DB چندين تكنيك فراخواني سطح پايين را بكار برده است كه همين امر برنامه نويسي را وحشتناك ساخته است، بخصوص براي برنامه نويسان نوع Visual Basic. براي غلبه بر اين مشكل، مايكروسافت ActiveX Data Object يا به عبارتي ADO را معرفي كرد. ADO بروي سر OLE DB فعاليت مي كند و واسط سطح بالاتر و ساده تري را همانند شكل 5 فراهم مي آورد:



- معماري ADO

تفاوت هاي ADO.NET با ADO در چيست؟
از زماني كه معماري .NET شروع به طراحي شد، مايكروسافت تصميم گرفت كه مدل دستيابي به داده خودش را مجددأ طراحي كند. پيرو اين تصميم بجاي اينكه بيشتر بروي توسعه ADO فعاليت كند، مايكروسافت تصميم گرفت كه يك معماري دستيابي داده جديدي را بر اساس چهارچوب جدبد .NET طراحي كند – اما مايكروسافت همچنان لغت خلاصه ADO را مورد استفاده قرار داد. مايكروسافت ADO.NET را بر اساس تجربه موفق مدل شئي ADO طراحي كرد، اما با يك معماري كاملأ متفاوت، مبتني بر XML و مدل محاسبه غير پيوسته . معماري جديد راه هاي متعددي را براي اتصال يك كاربردي كه مي خواهد به يك منبع داده متصل گردد فراهم آورده است، همانند شكل 6:



- معماري ADO.NET
براي فهميدن تكامل به سمت ADO.NET، شناخت بعضي از نكات بر مبناي ADO كه در طراحي اين تكنولوژي پيشگام بوده است بسيار مهم است. ADO از Recordset ها و كرسرها براي دستيابي و تغيير دادن داده ها استفاده مي كند. به علت ماهيت طراحي، Recordset مي تواند كارائي را در سمت سرور بوسيله مصرف قابل توجهي از منابع كاهش دهد. علاوه بر اين، عمل COM Marshaling (كه يك پروسه تبديل داده پر هزينه اي مي باشد) براي انتقال يك Recordset مورد نياز مي بود. مايكروسافت بوسيله اضافه كردن پشتيباني هائي براي XML در ADO 2.1سعي كرد كه طراحي خود را بهينه نمايد. به هر جهت، پشتيباني به عمل آمده از XML محكم و قابل اعتماد نبود و استفاده از XML محدود به چندين محدوديت متعدد بود.
ADO.NET سه نيازمندي مهمي را كه ADO مشخص نمي ساخت مورد اشاره قرار داد:
  • تهيه يك مدل دستيابي به داده غير متصل (Disconnected )، كه در محيط هاي وب بسيار بحراني مي باشد
  • تهيه يكپارچه سازي بسيار محكم با XML
  • تهيه يكپارچـه سـازي بدون درز با چهـار چوب .NET (براي مثال : قابليت انطباق با كتابخانـه هـاي نوع سيستمي كلاس پايه)
از ديدگاه پياده سازي ADO.NET، شئي Recordset در ADO از معماري .NET حذف شده است. در اين جا، ADO.NET داراي چندين شئي تخصيص داده شده مي باشد كه در ارتباط با شئي Dataset مطرح شده اند و شامل اشياء Data Adaptor، Data Reader اي مي باشد كه كارهاي خاصي را انجام مي دهند. علاوه براين، اشياء Dataset، ADO.NET، در يك حالت غير متصل كار مي كنند، در حالي كه اشياء Recordset، ADO در يك حالت كاملأ متصل فعاليت مي كنند.
بعلت تفاوت هاي اساسي موجود در COM و .NET (به همين ترتيب تفاوت هاي اساسي در معماريADO و ADO.NET وجود دارد)، يك تكنولوژي كاملأ جديد براي دستيابي به داده ها از طريق Platform، .NET مورد نياز مي باشد. در حقيقت، نيازمندي وجود تكنولوژي Data Provider ADO حذف شده است. در حالي كه يك تهيه كننده داده ADO بر مبناي COM بوسيله C++ و بوسيله كتابخانه هاي COM توسعه داده خواهد شد، تهيه كننده داده ADO.NET تنها نيازمند نوشته شدن بوسيله كتابخانه هاي كلاس پايه چهارچوب .NET مي باشد و طوري طراحي شده است كه كاملأ درون پارامترهاي زبان مشترك زمان اجرا مي تواند فعاليت كند. علاوه بر اين، محيط ADO.NET به صورت پيش فرض طوري طراحي شده است كه به جاي كار با انواع محلي سيستمي ADO با فرمت XML كار مي كند.

خلاصه

ADO.NET، XML را جهت فراهم آوردن دستيابي به داده بهينه شده در چهارچوب .NET تقويت كرده است . از آنجائيكه معماري پايه از COM به .NET به صورت زيربنائي متفاوت مي باشد، تهيه كننده هاي داده ADO.NET نيز محصولاتي كاملأ متفاوت از تهيه كننده هاي داده ADO قديمي مي باشند. سازمان هائي كه تصميم بر مهاجرت به .NET دارند و مراقب جامع بودن توابع و كارائي آن هستند نيامند سرمايه گذاري بروي تهيه كننده هاي داده جديد ADO.NET هستند.



مدرس دانشگاه مهندس حامي اميني
amini@kawacomputer.com

shirzadi آنلاین نیست.   پاسخ با نقل قول
2 کاربر برای پست مفید shirzadi تشکر کرده اند
halizadeh (Tuesday 1 July 2008), mrh64 (Saturday 24 January 2009)
پاسخ

ابزارهای موضوع
نحوه نمایش

قوانین ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
کدهای HTML غیر فعال است
انتخاب سریع یک انجمن


اکنون ساعت 04:13 AM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.





Powered by vBulletin Version 3.7.3
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.

Persian Language By Persian Forum Ver 1.0