جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
ارتباط به منابع داده در ADO.NET ( بخش اول )
-(6 Body) 
ارتباط به منابع داده در ADO.NET ( بخش اول )
Visitor 466
Category: دنياي فن آوري
بمنظوراتصال به يک منبع داده ، مي بايست در ابتدا يک 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 استفاده گردد .
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image