ارتباط به منابع داده در ADO.NET ( بخش اول )
اين مطلب از طريق سايت شرکت سخاروش در اختيار شما گذاشته شده است .

ارتباط  به منابع داده در ADO.NET ( بخش اول )

ارتباط  به منابع داده در ADO.NET ( بخش اول )

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

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

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

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

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

علاوه بر موارد فوق ، ماکروسافت در صدد ارائه يک 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  . را برعهده دارند .

نحوه انتخاب يک 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 . ، موارد زير پيشنهاد می گردد :

در بخش دوم اين مقاله به بررسی نحوه تعريف يک Connection  خواهيم پرداخت .


استفاده از اين مطلب  با ذکر منبع و اهداف غيرانتفاعی بلامانع است .
http://www.srco.
ir