ارتباط به منابع داده در ADO.NET - Developer Center
Developer Center

بازگشت   Developer Center > اخبار و مقالات > مقالات و آموزش
ثبت نام راهنما فهرست کاربران تقویم جستجو ارسالهاي امروز نشانه گذاري انجمن ها به عنوان خوانده شده

پاسخ
 
ابزارهای موضوع نحوه نمایش
قدیمی Monday 5 June 2006, 11:23 PM   #1
majidnaderi
كاربر عادي
 
تاریخ عضویت: Wednesday 19 October 2005
نوشته ها: 214
با تشکر: 17
تشکر شده 181 بار 49 پست
majidnaderi کاربر عادی
Post ارتباط به منابع داده در ADO.NET

بمنظوراتصال به يک منبع داده ، مي بايست در ابتدا يک Net Data Provider . ، انتخاب گردد . Data Provider ، کلاس هاي لازم بمنظور اتصال به يک منبع داده ، خواندن اطلاعات ، ويرايش ، بهنگام سازي و انجام عمليات متفاوت بر روي داده ها را ارائه مي نمايد . در اين مقاله به تشريح انواع Data Provider پرداخته و با نحوه انتخاب مناسب آنان بمنظور استفاده در برنامه ها ، آشنا خواهيم شد .



NET Data Provider . چيست؟


NET Data Provider .، يک Component کليدي ارائه شده بهمراه معماري ADO.NET بوده که امکان ارتباط بين يک منبع داده و يک Component ، يک سرويس وب XML و يا يک برنامه را فراهم مي نمايد. يک NET Data Provider .، امکان اتصال به منبع داده ، بازيابي داده ها ، انجام عمليات بر روي داده ها و بهنگام سازي منبع داده را فراهم مي نمايد. بهمراه فريمورک دات نت ، Provider هاي زير ارائه شده است :

SQL Server .NET Data Provider

OLE DB .NET Data Provider

در آينده براي ساير منابع داده ، NET Data Provider . مربوطه ايجاد و در دسترس عموم برنامه نويسان قرار خواهد گرفت. هر Provider ، مسئوليت پياده سازي کلاس هاي عمومي ADO.NET را برعهده خواهد داشت . دستاورد رويکرد فوق ، ارتباط با منابع داده متفاوت با استفاده از يک روش يکسان از طريق محيط هاي برنامه نويسي خواهد بود .

کلاس هاي NET Data Provider .
ADO.NET ، از NET Data Provider . ، بمنظور ارتباط به منبع داده ، بازيابي ، عمليات برروي داده ها و بهنگام سازي منبع داده استفاده مي نمايد . هر Provider ، بگونه اي طراحي مي گردد که داراي حجم اندکي بوده و يک لايه حداقل بين کد هاي نوشته شده و منبع داده را ايجاد نمايند . ( افزايش کارائي بدون قرباني نمودن پتانسيل ها !)

فريمورک دات نت ، داراي دو Data Provider است :

SQL Server .NET . امکان دستيابي بهينه به SQL Server 2000 و بانک هاي اطلاعاتي SQL Server 7.0 را فراهم مي نمايد. بدين منظور مي بايست از namespace با نام System.Data.Sqlclient بهمراه برنامه ها، استفاده گردد . Provider فوق، نسبت به OLE DB .NET Data Provider ، داراي کارآئي بمراتب بيشتري است (براي ارتباط با منبع داده از لايه هاي اضافه ديگر نظير: OLE DB و يا ODBC استفاده نمي گردد ).

OLE DB .NET . امکان دستيابي به SQL Server 6.5 و يا نسخه هاي قبل از آن ، بانک هاي اطلاعاتي نظير اوراکل ، Sybase ، DB2/400 و اکسس ماکروسافت را فراهم مي نمايد . بمنظور استفاده از Provider فوق ، مي بايست از namespace با نام System.Data.OleDb بهمراه برنامه ها ، استفاده گردد .

علاوه بر موارد فوق ، ماکروسافت در صدد ارائه يک ODBC .NET Data Provider براي دستيابي به ساير منابع داده است .
ADO.NET ، از يک مدل شي گراء در رابطه با NET Data Providers . استفاده مي نمايد . در SQL Server .NET Data Provider ، اسامي کلاس ها با پيشوند Sql آغاز مي گردد . مثلا" کلاس Connection ، SqlConnection ناميده مي شود. در OLE DB .NET Data Provider ، اسامي کلاس ها با پيشوند OleDb ، آغاز مي گردد . مثلا" کلاس Connection داراي نام OleDbConnection ، مي باشد. چهار کلاس اساسي زير، سهم عمده اي در شکل دهي يک NET Data Provider . را برعهده دارند .

XxxConnection . کلاس فوق ، بمنظور ايجاد يک Connection به يک منبع داده خاص استفاده مي گردد . مثلا" کلاس SqlConnection ، باعث اتصال به منابع داده SQL Server ، مي گردد .

XxxCommand . کلاس فوق ، بمنظور اجراي يک دستور از طريق يک منبع داده ، استفاده مي گردد . مثلا" کلاس SqlCommand ، امکان اجراي Stored Procedure و عبارات SQL در رابطه با يک منبع داده SQL Server ، را فراهم مي نمايد .

XxxDataReader . از کلاس فوق ، بمنظور خواندن اطلاعات از يک منبع داده بصورت فقط خواندني و Forward-only ، استفاده مي گردد . مثلا" کلاس SqlDataReader ، امکان خواندن سطرهائي از جداول در رابطه با يک منبع داده SQL Server را فراهم مي نمايد . کلاس فوق، بعنوان خروجي متد ExecuteReader از کلاس XxxCommand ، برگردانده مي شود. ( اغلب بعنوان ماحصل اجراي يک عبارت SELECT SQL )

XxxDataAdapter . کلاس فوق ، از اشياء XxxCommand استفاده تا يک DataSet را حاوي داده هاي مورد نظر نمايد. در اين راستا ، امکان بهنگام سازي اطلاعات نيز فراهم مي گردد . مثلا" کلاس SqlDataAdapter ، امکان مديريت ارتباط بين يک Dataset و داده هاي ذيربط در يک منبع داده SQL Server را فراهم مي نمايد.

نحوه انتخاب يک Data Provider
انتخاب يک NET Data Provider . مناسب براي يک برنامه، بستگي به نوع منبع داده ئي دارد که قصد ارتباط با آن وجود دارد.

نحوه مراجعه به يک NET Data Provider .
با استفاده از Solution Explorer در ويژوال استوديو دات نت ، مي توان مديريت مراجعات به اسمبلي هائي که مسئوليت NET Data Provider . را بر عهده دارند ، انجام داد . اسمبلي System.Data.dll ( بصورت فيزيکي يک فايل DLL است ) مسئوليت پياده سازي SQL Server .NET Data Provider و OLE DB .NET Data Provider را از طريق Namespace هاي System.Data.SqlClient و System.Data.OleDb ، بر عهده داشته و اسمبلي System.Data.Odbc.dll چنين رسالتي را در رابطه با ODBC .NET Data Provider ، انجام خواهد داد . اسمبلي فوق ، در زمان نصب ويژوال استوديو دات نت ، نصب نخواهد شد . براي دريافت اسمبلي فوق ، مي توان از طريق آدرس : http://msdn.microsoft.com/download ، اقدام و پس از کليک نمودن بر روي NET Framework .، گزينه ODBC .NET Data Provider را انتخاب کرد . بدين ترتيب، زمينه دريافت فايل فوق فراهم مي گردد . پس از دريافت اسمبلي فوق ، مي توان بصورت دستي (Manaually) در يک پروژه به آن مراجعه و از ODBC .NET Data Provider فوق ، استفاده کرد .

SQL Server .NET Data Provider
Provider فوق ، لايه اي نازک بين يک برنامه و SQL Server ايجاد مي نمايد. با توجه به اينکه اين Provider ، از پروتکل اختصاصي خود ( TDS: Tabular Data Stream ) بمنظور ارتباط با يک سرويس دهنده SQL استفاده مي نمايد ، حجم آن اندک و دستيابي به سرويس دهنده SQL مستقيما" و بدون استفاده از لايه هاي اضافه ديگر ، انجام مي گيرد . بدين ترتيب کارائي و قابليت توسعه سيستم ، بهبود پيدا خواهد کرد .

OLE DB .NET Data Provider
Provider فوق ، بمنظور اتصال به يک منبع داده از OLE DB و COM بصورت ذاتي استفاده مي نمايد . بنابراين مي بايست از يک OLE DB Provider استفاده گردد که خود از OLE DB .NET Data Provider استفاده مي نمايد . بمنظور استفاده از OLE DB .NET Data Provider ، مي بايست نوع Provider بصورت يک رشته ، مشخص گردد . واژه Provider در رشته فوق بيانگر نوع OLE DB منبع داده ئي است که به آن متصل مي گرديم .
مثلا" "Provider = MSDAORA" ، شما را به يک بانک اطلاعاتي اوراکل متصل مي نمايد . در زمانيکه از SQL Server .NET Data Provider ، استفاده مي شود ، نيازي به استفاده از واژه Provider نخواهد بود ( فرض مي شود که SQL Server 7.0 و يا قبل از آن باشد) . جدول زير نمونه هائي در اين زمينه را نشان مي دهد :

مثال
منبع داده

Provider = SQLOLEDB;Data Source = Tehran ;Initial
Catalog = pubs;User ID = sa ; Password = 999; SQL Server 6.5

Provider = MSDAORA ; Data Source = ORACLE817 ; User
ID = OLEDB ; Password = OLEDB ; Oracle server

Provider = Microsoft.Jet.OLEDB.4.0;
Data Source = C:\Mydb\Firstdb.mdb ;
Microsoft Access database


ODBC .NET Data Provider
Provider فوق ، بمنظور اتصال به يک منبع داده از توابع API مربوط به ODBC بصورت ذاتي استفاده مي نمايد. اين Provider ، بصورت يک اسمبلي مجزاء و با نام System.Data.Odbc.dll ، پياده سازي شده و بصورت پيش فرض در تمپليت هاي پروژه در ويژوال استوديو دات نت ، انتخاب نشده و مي بايست بصورت دستي به آن مراجعه گردد .

مثال
Provider/Driver
منبع داده

Driver ={Microsoft ODBC for Oracle };
Server = ORACLE817;UID=OLEDB;
PWD = OLEDB; ORA ODBC Oracle Server

Driver = {Microsoft Access Driver (*.mdb)};
DBQ = C:\Mydb\Firstdb.mdb ; Jet ODBC Microsoft Access database


خلاصه :

براي انتخاب يک NET Data Provider . ، موارد زير پيشنهاد مي گردد :

اگر منبع داده از نوع SQL Server 7.0 و يا SQL Sever 2000 مي باشد ، SQL Server .NET Data Provider انتخاب گردد .
اگر منبع داده از نوع SQL Server 6.5 و قبل از آن باشد ، OLE DB .NET Data Provider انتخاب گردد .
اگر منبع داده شامل هر نوع منبع داده نامتجانس باشد که امکان دستيابي به آن از طريق OLE DB Provider ، وجود داشته باشد ،
از OLE DB .NET Data Provider استفاده گردد .

اگر منبع داده شامل هر نوع منبع داده نامتجانس باشد که امکان دستيابي به آن از طريق ODBC driver ، وجود داشته باشد ،
از ODBC .NET Data Provider استفاده گردد .

منبع : http://www.srco.ir
majidnaderi آنلاین نیست.   پاسخ با نقل قول

.......
قدیمی Monday 5 June 2006, 11:34 PM   #2
majidnaderi
كاربر عادي
 
تاریخ عضویت: Wednesday 19 October 2005
نوشته ها: 214
با تشکر: 17
تشکر شده 181 بار 49 پست
majidnaderi کاربر عادی
Post

ارتباط با منابع داده در ADO.NET بخش دوم
فایل های پیوست شده
نوع فایل: zip ارتباط به منابع داده در ADO.NET.zip (136.3 کیلو بایت, 74 نمایش)
majidnaderi آنلاین نیست.   پاسخ با نقل قول
پاسخ

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

قوانین ارسال
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 غیر فعال است
انتخاب سریع یک انجمن


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





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

Persian Language By Persian Forum Ver 1.0