آموزش کامپیوتر

آموزش گام به گام کامپیوتر

آموزش کامپیوتر

آموزش گام به گام کامپیوتر

ارتباط به منابع داده در 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  های زیر ارائه شده است :

  • 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
    استفاده  گردد .

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

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد