مقاله در مورد مفاهیم اولیه ADO.NET


در حال بارگذاری
23 اکتبر 2022
فایل ورد و پاورپوینت
2120
3 بازدید
۷۹,۷۰۰ تومان
خرید

توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد

 مقاله در مورد مفاهیم اولیه ADO.NET دارای ۱۰۱ صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد مقاله در مورد مفاهیم اولیه ADO.NET  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

توجه : در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی مقاله در مورد مفاهیم اولیه ADO.NET،به هیچ وجه بهم ریختگی وجود ندارد


بخشی از متن مقاله در مورد مفاهیم اولیه ADO.NET :

مفاهیم اولیه ADO.NET

برای استفاده مفیدتر از این مقاله، توصیه می گردد، مقاله معماری برنامه های مبتنی بر داده را در ابتدا مطالعه نمائید . ADO.NET ، نسل جدیدی از ADO شرکت ماکروسافت است . نسخه ADO ، با استفاده از مجموعه ای اشیاء ActiveX Data Object طراحی و پیاده سازی شده بود. ADO.NET گرچه در سطح ارائه پتانسیل های لازم در برخی موارد دارای شباهت هائی با ADO است ولی از نظر مدل برنامه نویسی دارای ساختاری کاملا” متفاوت( نسبت به ADO ) است.
تعریف ADO.NET

ADO.NET، مجموعه ای از کلاس ها بمنظور کار با داده ها است.
بموازات رشد اینترنت ، طراحی و پیاده سازی برنامه های مبتنی بر وب به امری متداول و نیازی همگانی مطرح شده است . در این راستا برنامه های متعددی ، از XML بمنظور ارسال اطلاعات خود در شبکه استفاده کرده و هر روز به تعداد این برنامه ها نیز اضافه می گردد. ADO.NET ، یک مدل برنامه نویسی مناسب بمنظور یکپارچگی بین ویژگی های XML و ADO.NET در فریمورک دات نت را ارائه می نماید.
مزایای ADO.NET

تکنولوژی فوق نسبت به ADO دارای مزایای زیر است :
• Interoperability . تکنولوژی ADO.NET از XML بعنوان فرمت ارسال اطلاعات از یک منبع داده به مقصد مورد نظر استفاده می نماید ( داده های مستقرشده در حافظه محلی)
• Maintainability . بموازات افزایش کاربران یک برنامه ، ما شاهد بروز مسائلی در رابطه با منابع موجود در سیستم خواهیم بود. با استفاده از یک برنامه N-Tire ، می توان منطق برنامه را بین چندین Tire اضافی توزیع نمود. معماری ADO.NET ، از حافظه Cache بمنظور نگهداری نسخه هائی از داده استفاده و بدین ترتیب امکان بهره برداری از اطلاعات فوق برای سایر Tire های اضافی فراهم می گردد .
• Programmability . مدل برنامه نویسی ADO.NET کاملا” از Strongly typed data حمایت و باعث می گردد که که کدها مختصرتر و با شفافیت خاصی، بسادگی نوشته گردند .
• Performance . تکنولوژی ADO.NET این امکان را فراهم می آورد تا عملیات مازاد در ارتباط با تبدیل نوع داده ها ،حذف گردد( از Strongly typed data استفاده می گردد ) .
• Scalability . مدل برنامه نویسی ADO.NET باعث تشویق برنامه نویسان برای صرفه جوئی در منابع سیستم و ارائه آنان برای برنامه های در حال اجراء بر روی بستر وب می گردد. با توجه به اینکه داده در حافظه محلی Cache می گردد، ضرورتی به نگهداری بلاک هائی از بانک اطلاعاتی و یا نگهداری اتصالات فعال با بانک اطلاعاتی برای مقاطع زمانی بعد ، وجود نخواهد داشت .
Namespace های مرتبط با داده
فریمورک دات نت ، پتانسیل ها ی( عملیات ) خود را به چندین Namespace تقسیم و ADO.NET نیز از این قاعده مستثنی نخواهد بود . ADO.NET عمدتا” در Namespace با نام System.Data ، پیاده سازی شده است.Namespace فوق،بصورت فیزیکی در اسمبلی System.Data.dll قرار دارد. برخی از بخش های ADO.NET در Namespace با نام System.Xml قرار دارند ( مثلا” کلاس XmlDataDocument ) مشخصات هر یک از Namespace های مرتبط با داده ها بشرح زیر می باشد :

• System.Data ، هسته ADO.NET بوده و شامل کلاس هائی است که بخش غیرمتصل معماری ADO.NET را شکل می دهد ( کلاس DataSet )
• System.Data.Common ، کلاس های کاربردی و اینترفیس مورد نیاز برای NET Data Providres . را فراهم می نماید.
• System.Data.sqlclient ، ارائه دهنده داده: SQL Server.Net Data Provider

• System.data.OleDB ، ارائه دهنده : OLEDB.NET Data Provider
• System.Data.sqltypes ، کلاس ها و ساختارهای مورد نیاز برای Native SQL Server Data Types را ارائه می نماید.( یک جایگزین سریع و ایمن برای داده های نوع دیگر).
• System.Xml ، کلاس ها واینترفیس های لازم بمنظور حمایت استاندارد د از پردازش های مبتنی بر XML را ارائه می نماید. ( مثلا” کلاس XmlDataDocument)
تغییرات ADO و ADO.NET
تغییرات متعددی در ADO.NET نسبت به ADO اعمال شده است . اغلب تغییرات فوق ، با توجه به مطالعات انجام شده در رابطه با موارد مثبت و منفی ADO صورت گرفته است . دستاورد این تغییرات، قدرت و انعطاف مطلوب برای ADO.NET است .

با توجه به اینکه تمامی ارائه دهندگان داده دات نت، عملیات تراکنشی را ارائه نمی نمایند ، ADO.NET ، پتانسیل های خود را به کلاس های مجزائی تقسیم و در اختیار قرار می دهد، بدین ترتیب شی اتصال ADO.NET بمراتب کم حجم تر نسبت به شی اتصال ADO خواهد بود.
Recordset در ADO ، یک شی بسیار بزرگ است . شی فوق، امکان حمایت از چندین نوع Cursor را فراهم می نماید ( از نوع سریع تا نوع سمت سرویس گیرنده غیر متصل) . سفارشی نمودن تمام امکانات شی فوق، مشکل و در برخی موارد غیرممکن است. ADO.NET ، پتانسیل های Recordset مربوط به ADO را به چندین کلاس تفسیم کرده است .مثلا” DataReader معادل یک Cursor سریع ، DataSet یک مدل غیرمتصل Cache شده با امکان ردیابی ، ثبت و کنترل نسبت دهی و DataAdapter قابلیت سفارشی نمودن نحوه ذخیره سازی و بهنگام سازی داده ها و اعمال تغییرات در یک DataSet را دارا است .
مدل اشیاء ADO.NET

مدل اشیاء ADO.NET شامل دو بخش اصلی است :
• کلاس های DataSet .کلاس های فوق ، این امکان را فراهم می نمایند که داده ها را در یک Cache غیر متصل ، ذخیره و مدیریت کرد. DataSet مستقل از هر نوع منبع داده بوده و بنابراین ویژگی های آن برای تمامی برنامه ها در دسترس و قابل استفاده خواهد بود

( صرفنظر از محلی که داده ها از آنجا سرچشمه می گیرند ) .
• کلاس های NET Data Provider . کلاس های فوق ، مختص یک منبع داده خاص می باشند. بنابراین NET Data Providers . ، می بایست برای یک منبع داده ئی خاص نوشته گردد و صرفا” با همان منبع داده ، کار نماید . کلاس های فوق، قابلیت اتصال به یک منبع داده ،بازیابی از منبع داده و بهنگام سازی داده های موجود در یک منبع داده را فراهم می نمایند .
مدل اشیاء ADO.NET ، شامل کلاس های زیر است :
• SQL Server .NET Data Provider
• OLE DB .NET Data Provider
• other .NET Data Providers
استفاده از کلاس های ADO.NET در مدل متصل
NET Data Provider . ، کلاس های مورد نیاز ADO.NET را بمنظور استفاده در سناریوی متصل (Connected) ارائه می نماید. NET data Provider. ها ، بگونه ای طراحی شده که کم حجم و حداقل لایه بین کد مربوطه و منبع داده ایجاد و بدین ترتیب کارائی سیستم افزایش خواهد یافت . فریمورک دات نت دارای دو Provider است :
• SQL Server .NET ، امکان دستیابی بهینه به بانک های اطلاعاتی SQL server 2000 و SQL Server 7 را فراهم می نماید . بمنظور استفاده از Provider فوق، می بایست از Namespace با نام System.Data.sqlclient در برنامه مورد نظر استفاده گردد . استفاده از Provider فوق در مقایسه با OLE DB.NET دارای کارائی بمراتب بیشتری است (چون از طریق یک OLE DB و یا ODBC عبور داده نمی شود) .
• OLE DB.NET ، امکان دستیابی به SQL Server 6.5 و سایر بانک های اطلاعاتی نظیر Oracle , Sybase , DB2/400 و Access را فراهم می نماید . بمنظور استفاده از Provider فوق، می بایست از Namespace با نام System.Data.OleDb در برنامه مورد نظر استفاده گردد

.
کلاس های هر یک از Data Provider ها، از مدل رایج اشیاء ADO.NET تبعیت می نمایند . در SQL Server .NET Data Provider ، اسامی کلاس ها با پیشوند sql شروع می شود . مثلا” کلاس مربوطه به Connection دارای نام sqlConnection است . در OLE DB.NET Provider ، اسامی کلاس ها با پیشوند OleDb شروع می گردد . مثلا” کلاس Connection دارای نام OleDbConnection است .
در آینده NET Date Provider . ، بیشتر و با پیشوندهای دیگری ایجاد خواهند شد .
در فهرست زیر پیشوندهای متفاوت بصورت Xxx نشان داده شده اند :
• XxxConnection ، باعث ایجاد یک اتصال( ارتباط) به منبع داده می شود . مثلا” کلاس sqlConnection ، باعث ایجاد یک اتصال به منبع داده ئی از نوع SQL Server می

گردد .
• XxxCommand ، باعث اجرای یک دستور از منبع داده می گردد . مثلا” کلاس sqlCommand می تواند باعث اجرای یک Stored Procedure و یا یک عبارت SQL در منبع داده ئی از نوع SQL Server می گردد .
• XxxDataReader ، کلاس فوق، باعث خواندن مجموعه ای داده از یک منبع داده ، بصورت فقط خواندنی و صرفا” بسمت جلو می گردد .مثلا” کلاس sqlDataReader ، باعث خواندن سطرهائی از جداول یک منبع داده ئی از نوع SQL Server می گردد . کلاس فوق، توسط متد ExecuteReader مربوط به کلاس XxxCommand بعنوان نتیجه اجرای یک عبارت SELECT SQL برگردانده می گردد .
مثال : کلاس XxxDataReader ، امکان دستیابی فقط خواندنی و صرفا” بسمت جلو در ارتباط با داده های موجود در یک منبع داده را فراهم می نماید. مثلا” برای استفاده از sqlDataReader برای خواندن داده از یک بانک اطلاعاتی SQL server ، می بایست مراحل زیر را انجام داد.
• یک شی sqlConnection ، بمنظور اتصال ( ارتباط) به بانک اطلاعاتی SQL Server تعریف نمائید.
• یک شی sqlCommand تعریف که شامل عبارت SQL SELECT برای پرس و جو(Query) در ارتباط با بانک اطلاعاتی باشد .
• یک شی sqlDataReader تعریف نمائید.
• فعال نمودن (Open) شی sqlConnection
• اجرای شی sqlCommand با استفاده از متد ExecuteReader و نسبت دهی نتایج به شی sqlDataReader
• استفاده از متد Read مربوط به شی sqlDataReader برای حرکت بسمت جلو در طول داده ها و پردازش سطرهای مربوطه
• بستن sqlDataReader
• بستن sqlConnection

استفاده از ADO.NET در مدل غیرمتصل
کلاس های ADO.NET که در مدل غیر متصل استفاده می گردد توسط NET Data Providers . ، ارائه و در Namespace با نام System.Data موجود می باشند. فهرست زیر کلاس هائی استفاده شده در مدل غیر متصل ، را نشان می دهد :

• XxxDataAdapter ، با استفاده از کلاس های Connection , DataReader و Coomand می توان یک DataSet را مدیریت نمود.مثلا” کلاس sqlDataAdapter ، قادر به مدیریت بین یک Dataset و یک بانک اطلاعاتی SQL Server 7 است .
• XxxConnection ، ارتباطی با یک منبع داده ئی خاص را ایجاد ( برقرار) می نماید . مثلا” کلاس sqlConnection ،باعث برقراری یک اتصال با منبع داده ئی از نوع SQL Server می گردد .
• XxxCommand ، قادر به اجرای Stored Procedure و یا عبارات SQL در یک منبع داده ئی از نوع SQL Server می باشد .
• XxxDataReader ، کلاس فوق، باعث خواندن مجموعه ای داده از یک منبع داده ، بصورت فقط خواندنی و صرفا” بسمت جلو می گردد .مثلا” کلاس sqlDataReader ، باعث خواندن سطرهائی از جداول یک منبع داده ئی از نوع SQL Server می گردد . کلاس فوق، توسط متد ExecuteReader مربوط به کلاس XxxCommand بعنوان نتیجه اجرای یک عبارت SELECT SQL برگردانده می گردد .
مثال : مراحل زیر نحوه کار در یک محیط غیر متصل را نشان می دهد :
• باز نمودن یک اتصال

• پر نمودن DataSet با استفاده از متد Fill مربوط به DataAdapter
• بستن اتصال
• پردازش DataSet ( مرتب سازی ، فیلترسازی، خلاصه سازی، نمایش داده ها در کنترل های ویندوز و وب ) . DataSet بصورت خودکار هرگونه تغییرات را ردیابی و ثبت خواهد کرد .
• باز نمودن اتصال .، می توان از همان اتصالی که قبلا” ایجاد شده بود استفاده گردد .
• بهنگام سازی منبع داده با در نظر گرفتن تغییراتی که در DataSet اعمال شده است ( از طریق متد Upadate مربوط به DataAdapter ).
• بستن اتصال

DataSet و یا DataReader ؟
DataReader و DataSet دو شی ارائه شده در ADO.NET به منظور دستیابی به داده می باشند . اشیاء فوق امکانات متعددی برای دستیابی به داده در برنامه های دات نت را در اختیار پیاده کنندگان قرار می دهند . Scott Mitchell اخیرا” در مقاله ای جامع که بر روی سایت

http://www.4guysfromrolla.com منشتر شده است به بررسی دو شی فوق پرداخته و آنان را از زوایای متفاوتی مقایسه و در نهایت به این نتیجه رسیده است که استفاده از DataReader در برنامه های وب دارای مزایای بمراتب بیشتری نسبت به DataSet است . برای آشنائی با دلایل وی برای رسیدن به نتیجه فوق ، خلاصه ای از مقاله وی را در ادامه با هم مطالعه می کنیم .

مبانی و اصول اولیه DataReader
DataReader و DataSet دارای وظایف متفاوتی بوده و با اهداف مختلفی طراحی و

پیاده سازی شده اند :
• DataSet : یک بانک اطلاعاتی کوچک در حافظه
• DataReader : ترابری داده بین لایه بانک اطلاعاتی و یک برنامه دات نت
در ADO.NET یک provider شامل تعدادی منبع است و کلاس های خاص مرتبط با هر provider به منظور کار با ارائه دهندگان مربوطه ارائه شده است . مثلا” کلاس های SqlConnection, SqlCommand, SqlDataAdapter و SqlDataReader جهت کار با SqlClient provider و کلاس های OleDbConnection, OleDbCommand, OleDbDataAdapterو OleDbDataReader جهت کار با OleDb provider ارائه شده اند.اشیائی که شامل یک پیشوند با نام یک provider می باشند ( نظیر Sql,OleDb,Oracle و ; ) ، اشیاء مختص و وابسته به Provider بوده و به منظور کار با یک Provider خاص طراحی و پیاده سازی شده اند.
DataReader یکی از اشیاء فوق است ( SqlDataReader, OleDbDataReader ) .به منظور استفاده از شی فوق می بایست در ابتدا یک connection به منبع داده ایجاد و query مورد نظر جهت اجراء مشخص گردد . در ادامه DataReader ایجاد و به عنوان یک پل ارتباطی بین برنامه دات نت و منبع ذخیره سازی داده ایفای وظیفه می نماید . مثلا” می توان از کد زیر در این رابطه استفاده نمود :
‘ Create command
Dim myCommand as New SqlCommand(myConnection, SQL query or stored procedure)

‘ Create a DataReader to ferry information back from the database
Dim myReader as SqlDataReader

myReader = myCommand.ExecuteReader()

‘Iterate through the results
While myReader.Read()
‘; Work with the current record ;

End While

‘ Close the connection (will automatically close the reader)
myConnection.Close()
DataReader در هر لحظه یک رکورد را از منبع ذخیره سازی داده load می نماید . هر مرتبه که متد Read شی DataReader فراخوانده گردد ، DataReader رکورد جاری را کنارگذاشته و با مراجعه به بانک اطلاعاتی ، رکورد بعدی را بازیابی می نماید .در صورتی که یک سطر از بانک اطلاعاتی load شده باشد ، متد Read مقدار True و اگر رکوردی برگردانده نشود ، مقدار False برگردانده خواهد شد .
DataReader ، یک شی داده Connected بوده و نیازمند وجود یک اتصال فعال با بانک اطلاعاتی است . بخاطر داشته باشید که DataReader صرفا” مکاینزم لازم برای ترابری داده بین برنامه و بانک اطلاعاتی را ارائه نموده و پس از قطع connection ، امکان برگرداندن اطلاعات به بانک اطلاعاتی وجود نخواهد داشت . DataReader دارای ویژگی فقط خواندنی و فقط به سمت جلو می باشد . این بدان معنی است که اطلاعات بازیابی شده از بانک اطلاعاتی را نمی توان با استفاده از DataReader تغییر و یا اقدام به بازیابی رکوردها به صورت تصادفی نمود . DataReader محدود به دستیابی رکوردها به صورت ترتیبی ( از اولین رکورد به سمت آخرین رکورد ) است .

مبانی و اصول اولیه DataSet
DataSet یک شی بمراتب پیچیده تر و با ویژگی های بیشتر در مقایسه با DataReader است . در حالی که DataReader به سادگی عملیات برگرداندن داده از یک منبع داده را برعهده دارد ، DataSet را می توان به منزله یک بانک اطلاعاتی مقیم در حافظه تصور نمود . DataSet همانند یک بانک اطلاعاتی از مجموعه ای جدول تشکیل شده است . یک DataSet از مجموعه ای شی DataTable تشکیل می گردد . همانگونه که یک بانک اطلاعاتی می تواند دارای ارتباطاتی بین جداول مربوطه به خود باشد ( به همراه محدودیت های متفاوتی در ارتباط با فیلده

ای تعریف شده در هر یک از جداول ) ، یک DataSet نیز می تواند دارای ارتباطات مشخص بین اشیاء DataTable مربوط به خود و محدودیت های لازم برروی فیلدهای DataTable باشد .
برخلاف DataReader ، یک DataSet یک شی داده مستقل از Provider است و در این رابطه اشیائی نظیر SqlDataSet و یا OleDbDataSet وجود ندارد و این مسئولیت شی DataAdapter مربوط به Provider است که داده مختص provider را درون یک DataSet مستقل ( نه یک provider خاص ) ترجمه نماید . کد زیر نحوه استفاده از DataSet را نشان می دهد :
‘ Establish Connection
Dim myConnection as New SqlConnection(connection string)
myConnection.Open()

‘ Create command
Dim myCommand as New SqlCommand(SQL query or stored procedure, myConnection)

‘ Create the DataAdapter
Dim myDataAdapter as New SqlDataAdapter(myCommand)

‘ Create the DataSet
Dim myDataSet as New DataSet

‘ Fill the DataSet
myDataAdapter.Fill(myDataSet)

‘ Close the connection
myConnection.Close()

‘; Work with the contents of the DataSet ;
همانگونه که در کد فوق مشاهده می گردد ، متد Fill مربوط به شی DataAdapter مسئولیت پر نمودن DataSet را با توجه به query مورد نظر برعهده دارد . در پس پرده ، از یک

DataReader به منظور خواندن نتایج اجرای query و پر نمودن DataSet استفاده می گردد. DataSet یک شی داده disconnected است. این بدان معنی است که پس از استقرار داده در DataSet ، می توان connection را غیرفعال ( close ) و همچنان بررسی و پردازش لازم بر روی داده های موجود در DataSet را انجام داد .
با توجه به این که DataSet یک مجموعه از داده های غیرمتصل جداگانه را ارائه می نماید ، امکان ویرایش و دستیابی تصادفی به اطلاعات موجود در آن وجود خواهد داشت . دو ویژگی فوق در DataReader وجود ندارند . علاوه بر موارد فوق ، DataSet دارای پتانسیل های قدرتمندی به منظور کار با اسناد XML است . مثلا” می توان با استفاده از متد WriteXml اطلاعات موجود در یک DataSet را درون یک فایل XML مستقر و یا می توان اطلاعات موجود در یک فایل XML را با استفاده از متد ReadXml شی DataSet خواند و در یک DataSet مستقر نمود .
DataReader و یا DataSet
صرفنظر از این که از DataSet و یا DataReader به منظور بازیابی داده های موجود در بانک اطلاعاتی استفاده می گردد ، می توان به منظور نمایش داده های مورد نظر از کنترل های DataList, DataGrid و یا Repeater با استفاده از یک کد مشابه استفاده نمود . بدین منظور لازم است که خصلت DataSource هر یک از کنترل های فوق به DataReader و یا DataSet نسبت داده شده و در ادامه متد DataBind مربوطه ( کنترل های DataList, DataGrid و یا Repeater ) فراخوانده گردد .
کار با داده ها در ASP.NET بسیار ساده است بگونه ای که معمولا” پیاده کنندگان برنامه های وب ASP.NET هرگز این موضوع را به ذهن خود خطور نخواهند داد که بهترین شی که می توان از آن به منظور دستیابی به داده استفاده نمود ، چیست ؟ آنان بر این عقیده هستند که همه چیز معادل هم بوده و خیلی مهم نخواهد بود که از کدام شی در این رابطه استفاده می گردد .
آیا واقعا” همه چیز یکسان و معادل می باشد ؟ به وضوح مشخص است که بین ویژگی ها و پتانسیل های ارائه شده توسط هر یک از اشیاء DataReader و DataSet تفاوت های عمده ای

وجود دارد . DataSet ویژگی های بمراتب بیشتری را در اختیار پیاده کنندگان قرار می دهد و همین موضوع باعث شده است که کارآئی آن برای خواندن داده نسبت به DataReader کمتر گردد .
بر اساس مطالعه انجام شده در رابطه با سرعت بازیابی داده در ADO.NET ، سرعت و کارآئی DataReader سی مرتبه بیش از DataSet می باشد . در بررسی انجام شده بر روی یکهزار رکورد بازیابی شده ، مشخص شده است که DataSet سی مرتبه کندتر از DataReader است ( ۸۹ / ۸ ثانیه در مقابل ۲۹ /۰ ثانیه ) .

موارد استفاده مفید از DataSet
صرفنظر از محدودیت های DataSet از بعد کارآئی ، در مواردی لازم است که از این شی استفاده گردد و گرنه شی فوق به عنوان یکی از عناصر کلیدی در فریمورک دات نت محسوب نمی گردید . استفاده از DataSet در یکی از دو مورد زیر می تواند مفید واقع شود :
• برنامه های Desktop : فرض کنید دارای یک برنامه ورود اطلاعات desktop-based باشیم . یک کاربر برنامه را اجراء ، داده هائی خاص را از برخی بانک های اطلاعاتی load و پس از اعمال تغییرات لازم آنان را در بانک اطلاعاتی ذخیره می نماید . وضعیت فوق یک حالت ایده آل برای DataSet است و امکان خواندن داده ها از درون یک DataSet مستقر در حافظه کامپیوتر سرویس گیرنده ، وجود خواهد داشت . بدین ترتیب کاربران می توانند با داده ها بدون نیاز به ارتباط مستمر با بانک اطلاعاتی کار کنند . پس از اتمام عملیات ویرایش داده ها ، به منظور اعمال تغییرات لازم می توان از یک Batch update استفاده نمود . از آنجائیکه DataSet یک منبع ذخیره سازی داده disconnected است ، امکان دستیابی offline به داده ها وجود خواهد داشت .
چنین وضعیتی ممکن است در یک برنامه وب نیز محقق گردد و لازم باشد که کاربران با برنامه وب همانند آنچه اشاره گردید ، ارتباط برقرار نمایند . آنان یک صفحه وب را مشاهده نموده و پس از اعمال تغییرات لازم ، صرفا” با فعال نمودن یک دکمه Update تغییرات را در بانک اطلاعاتی ثبت نمایند .بانک اطلاعاتی مورد نظر بهنگام نمی گردد تا زمانی که دکمه Update فعال گردد . در چنین مواردی می توان از یک Dataset مبتنی بر Session استفاده نمود.
• ارسال و یا دریافت از راه دور اطلاعات از بانک اطلاعاتی به منظور برقراری ارتباط بین پلت فورم های متفاوت : با توجه به این موضوع که یک DataSet می تواند به سادگی درون یک فایل XML قر

ار داده شود و یا از آن خوانده شوند ، به عنوان اولین کاندید برای ارسال اطلاعات بین پلت فورم های متفاوت مطرح می باشد .مثلا” در صورتی که قصد برگرداندن داده بانک اطلاعاتی را از طریق یک سرویس وب داشته باشید ، یکی از روش های موجود در این زمینه این است که داده های بانک اطلاعاتی درون یک DataSet قرار داده شوند و در ادامه با استفاده از متد سرویس وب،

DataSet برگردانده شود . در چنین حالتی DataSet به صورت اتوماتیک درون یک فایل XML قرار داده شده و ارسال می گردد .
علل استفاده از DataSet و علل عدم استفاده از DataSet
در برنامه های وب به مواردی برخورد می کنیم که شاید استفاده از DataSet تنها گزینه موج

ود در این رابطه باشد . مثلا” فرض کنید قصد داریم برخی اطلاعات موجود در بانک اطلاعاتی را Cache نموده تا از آنان در صفحات متعددی بر روی یک سایت استفاده گردد . این نوع داده ها ممکن است وابسته به نوع کاربر بوده و در Session ذخیره شده باشند و یا ممکن است توسط تمامی کاربران استفاده گردند . در چنین مواردی می بایست اطلاعات را در Data Cache ذخیره نمود .
DataReader با توجه به این که یک شی disconnected است ، نمی تواند برای Cache کردن داده ها مورد استفاده قرار گیرد و در زمان استفاده از آن می بایست اتصالات به بانک اطلاعاتی فعال و بسیار کوتاه باشند ( Short-Live ) . با توجه به موارد فوق در صورتی که قصد دارید داده های بانک های اطلاعاتی را Cache نمائید ، استفاده از DataSet می تواند یکی از گزینه های موجود در این رابطه باشد .ولی آیا این تنها گزینه موجود است ؟ در چنین مواردی می توان یک کلاس را ایجاد که دارای خصلت هائی متناظر و مرتبط با فیلدهای بانک اطلاعاتی است که قصد ذخیره آنان در یک DataSet را دارید . در زمان Cache نمودن داده می توان از یک DataReader به منظور خواندن query از بانک اطلاعاتی ، بازیابی و حرکت بین رکوردهای برگردانده شده استفاده نمود . در این رابطه لازم است برای هر رکورد یک نمونه کلاس سفارشی شده ایجاد ، خصلت های آن را متناسب با مقادیر موجود در query تنظیم و کلاس سفارشی را به یک ArrayList اضافه نمود . در ادامه می توان اشیاء سفارشی را Cache نمود . روش فوق علاوه بر افزایش کارآئی ، قابلیت پشتیبانی را نیز بهتر خواهد کرد . همچنین می توان این مجموعه از کلاس های سفارشی شده را به ی

ک کنترل وب داده ASP.NET ( نظیر DataList, DataGrid و یا Repeater ) نیز نسبت داد (مشابه استفاده از یک DataSet و یا DataReader ) .
یکی دیگر از مواردی که می تواند دلایل استفاده از یک DataSet را در برنامه های وب توجیه نماید ، زمانی است که قصد دستیابی تصادفی به داده هائی خاص در بین تعدادی رکورد را دا

شته باشیم . چراکه رکوردهای فوق ممکن است بدفعات استفاده گردند . مثلا” فرض کنید قصد استفاده از یک master/detail DataGrid را داریم که در آن یک ستون از DataGrid شامل رکورد مادر و سایر ستون ها شامل DataGrid دیگر ( مرتبط با سطر فرزند) باشد . در چنین مواردی استفاده از یک DataSet به منظور جمع آوری تمامی رکوردهای فرزند از بانک اطلاعاتی در مقابل این روش که برای هر سطر DataGrid یک query را استفاده نمود ، ترجیح داده می شود . کارآئی روش فوق به تعداد سطرهای موجود در جدول مادر بستگی خواهد داشت . از آنجائیکه یک DataSet سی مرتبه کندتر از یک DataReader است ، اگر بیش از سی رکورد در جدول مادر وجود دارد که قصد نمایش آنان را داریم ، استفاده از یک DataSet می تواند گزینه ای معقول تر در این زمینه باشد تا این که برای هر رکورد مادر یک query را اجراء نمود

ارتباط به منابع داده در 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 فوق ، بمنظور اتصال به یک منبع داده از توابع A

PI مربوط به 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 خواهیم پرداخت .
________________________________________
ارتباط به منابع داده در ADO.NET ( بخش دوم )

در بخش اول این مقاله به تشریح انواع Data Provider پرداخته و با نحوه انتخاب آنان بمنظور استفاده در برنامه ها ، آشنا شدیم . در این بخش به بررسی نحوه ایجاد یک Connection خواهیم پرداخت . Connection String ، بخشی ضروری بمنظور ارتباط با یک منبع داده است . خصلت ConnectionString مربوط به شی Connection ، اطلاعات لازم را در اختیار شی Connection قرار می دهد .
امنیت بانک اطلاعاتی ایجاد هر گونه ارتباط با بانک اطلاعاتی در اختیار وی گذاشته شوند ( ارسال اطلاعات اولیه بمنظور اطمینان از معتبر بودن کاربر ) .امنیت بانک اطلاعاتی ، بستگی به نوع بانک اطلاعاتی مربوطه خواهد داشت .
استفاده از امنیت سرویس دهنده SQL
سرویس دهنده SQL ، با استفاده از دو روش متفاوت اقدام به تائید کاربر می نماید : تائید کاربران بر اساس سیستم امنیتی ویندوز ( Microsoft Windows Authentication ) و حالت ترکیبی ( Mixed Mode Authentication ) .
روش Windows Authentication
در مدل فوق ، این امکان برای یک کاربر فراهم خواهد شد که با استفاده از یک Account ویندوز به بانک اطلاعاتی مرتبط گردد . خصلت امنیتی شبکه برای کاربر در زمان ورود به شبکه ایجاد می گردد . زمانیکه یک کاربر شبکه سعی در ارتباط با بانک اطلاعاتی سرویس دهنده SQL می نماید ،عملیات تائید وی آغاز و در ادامه بر اساس سیاست های امنیتی ورود به شبکه که قبلا” برای وی تعریف و تنظیم شده است ، امکان دستیابی وی به بانک اطلاعاتی محقق و یا با درخواست وی بدلایل امنیتی مخالفت خواهد شد . در چنین حالتی ضرورتی به یک Login مجدد ( ورود نام و رمز عبور توسط کاربر) وجود نخواهد داشت . استفاده از روش فوق ، بمنظور ارتباط با بانک اطلاعاتی دارای مزایای زیر است :
• متعبرسازی ایمن بهمراه رمزنگاری رمزهای عبور
• Auditing
• تاریخ سررسید رمز عبور
• تعریف حداقل طول رمزعبور
• غیر فعال شدن ( قفل نمودن ) رمز عبور پس از انجام چندین تلاش نافرجام جهت ورود به شبکه
نکته : با توجه به اینکه کاربران و گروههای ویندوز ، صرفا” توسط ویندوز نگهداری و پشتیبانی می گردند ، سرویس دهنده SQL اطلاعات مربوط به یک گروه کاربران را در زمان اتصال به بانک اطلاعاتی می خواند . در صورتیکه تغییراتی در رابطه با مجوزهای دستیابی برای یک کاربر متصل شده ایجاد گردد ، تغییرات ایجاد شده در زمان آتی که کاربر به سرویس دهنده SQL مرتبط می گردد ؛ در نظر گرفته شده و متناسب با تغییرات ایجاد شده با کاربر برخورد خواهد شد .
روش Mixed Mode Authentication
در روش فوق ، این امکان برای کاربران فراهم می گردد که به یک

سرویس دهنده SQL بر اساس Windows Authentication و یا SQL Server Authentication متصل گردند . کاربرانی که از طریق ویندوز NT 4.0 و یا ویندوز ۲۰۰۰ به بانک اطلاعاتی مرتبط می گردند ، قادر به استفاده از ارتباطات trusted در Windows Authentication و یا Mixed Mode Authntication می باشند . زمانیکه کاربری با استفاده از یک نام و رمز عبور خاص و بکمک یک ارتباط non-trusted به بانک اطلاعاتی متصل می گردد ، سرویس دهنده SQL خود عملیات تائید کاربر را بررسی می نماید ( آیا یک account سرویس دهنده SQL پیکربندی و تنظیم شده است ؟) . در صورتیکه ماحصل بررسی فوق منفی باشد ، کاربر تائید نشده و وی با یک پیام خطاء مواجه خواهد شد.
نکته : در صورتیکه کاربری سعی در ارتباط با یک سرویس دهنده SQL 7.0 ، ( مورد نظر سرویس دهنده SQL 2000 نمی باشد ) را داشته و یک نام خالی ( blank) را وارد نماید ، سرویس دهنده SQL 7.0 ، از Windows Authentication استفاده می نماید.علاوه بر این ، در صورتیکه کاربری سعی در ارتباط با یک سرویس دهنده SQL 7.0 نماید که برای Windows Auth

entication پیکربندی شده باشد ( استفاده از یک Login خاص ) ، login مورد نظر نادیده گرفته شده و از روش Windows Authentication استفاده خواهد شد .
روش SQL Server Authentication بمنظور سازگاری با نسخه های قبلی ارائه شده است . زیرا بر نامه های نوشته شده برای سرویس دهنده SQL 7.0 ، و یا قبل از آن می بایست از نام و رمز عبور سرویس دهنده SQL استفاده نمایند. علاوه بر این ، زمانیکه یک نمونه از سرویس دهنده SQL تحت ویندوز ۹۸ اجراء می گردد ، چون روش Windows Authentication در نسخه وینوز ۹۸ حمایت نمی گردد ، مجددا” از روش SQL Server Authentication استفاده خواهد شد .بنابراین سرویس دهنده SQL از Mixed Mode در زمان اجراء ویندوز ۹۸ استفاده می نماید ( ولی صرفا” SQL Server Authentication حمایت می گردد ) .

Connection String چیست ؟
بمنظور انتقال اطلاعات بین یک منبع داده و برنامه ، می بایست در ابتدا دارای یک ارتباط ( اتصال ) با منبع داده باشیم . خصلت ConnectionString ، اطلاعات ضروری و مورد نیاز در ارتباط با تعریف یک اتصال به منبع داده را از طریق یک رشته مشتمل بر مجموعه ای از پارامترها ، ارائه می

نماید. جدول زیر چندین پارامتر متداول در رابطه با Connection string را نشان می دهد .
توضیحات پارامتر
از خصلت فوق بمنظور تنظیم و یا برگرداندن نام Provider مرتبط با Connection استفاده می گردد . امکان استفاده از خصلت فوق، صرفا” برای اشیاء OleDbConnection وجود خواهد داشت . Provider
مدت زمان انتظار برحسب ثانیه بمنظور ارتباط با بانک اطلاعاتی را مشخص می نماید. ( پیش فرض ۱۵ ) . Connection TimeOut
or
Connect TimeOut
نام بانک اطلاعاتی Initial Catalog
نام سرویس دهنده SQL استفاده شده در زمانیکه یک Connection فعال شده باشد و یا نام فایل در رابطه با یک بانک اطلاعاتی Access را مشخص می نماید . Data Source
رمز عبور برای SQL Server account Password
SQL Server Login account User ID
ایمن بودن ارتباط را مشخص می نماید. مقادیر مورد نظر می تواند True,False و SSPI باشد . ( SSPI معادل True است ) Integrated Security
or
Trusted Connection
زمانیکه مقدار آن False باشد ، اطلاعات حساس امنیتی نظیر رمز عبور بعنوان بخشی از ارتباط (زمانیکه ارتباط فعال می گردد) ، برگردانده نخواهد شد. تنظیم خصلت فوق به True می تواند یک ریسک امنیتی باشد مقدار پارامتر فوق بصورت پیش فرض False است . Perisist Security Info
نحوه تنظیم یک Connection String

بمنظور ایجاد و مدیریت یک Connection می بایست یکی از اشیاء Connection مربوط به ADO.NET را استفاده نمود : شی SqlConnection و یا شی OleDbConnection . تنظیم خصلت ConnectionString صرفا” زمانی که Connection بسته می گردد، میسر خواهد بود . بمنظور Reset نمودن یک Connection String می بایست Connection مورد نظر را بست و مجددا” آن را فعال نمود.

مثال
در این بخش به بررسی چندین مثال بمنظور آشنائی با نحوه استفاده از Connection String بهمراه پارامترهای مربوطه ، خواهیم پرداخت . دقت داشته باشید که تمامی Connection String ها ، دارای پارامترهای یکسان نمی باشند .
مثال ۱ – نحوه اتصال به یک بانک اطلاعاتی SQL Server 2000 با استفاده از شی SqlConnection و VB.NET
پارامتر مقدار
Product SQL Server 2000
Server name Tehran
DatabaseName Northwind
Security Mixed mode
Username sa
Password 110
Timeout 1 minute
نحوه اتصال به بانک اطلاعاتی
Dim cnNorthwind as New _ system.Data.SqlClient.SqlConnection()
cnNorthwind.ConnectionString = _
“User ID = sa;” & _

“Password= 110;” & _
“Initial Catalog=Northwind;”&_
“Data Source =Tehran;” & _
“Connection TimeOut= 60;”
مثال ۲ – نحوه اتصال به یک بانک اطلاعاتی Access با استفاده از یک OleDbConnection و ویژوال بیسیک
پارامتر مقدار
Product Microsoft Access 2000
Database location \Samples\Northwind.mdb
نحوه اتصال به بانک اطلاعاتی
Dim cnNorthwind as New _
system.Data.OleDb.OleDbConnection( )
cnNorthwind.ConnectionString = _
“Provider = Microsoft.Jet.OLED.4.0” & _
“Data Source= \Samples\Northwind.mdb;”
مثال ۳ – نحوه اتصال به یک بانک اطلاعاتی SQL Server 6.5 با استفاده از شی OleDbConnection و #C
پارامتر مقدار
Product SQL Server 6.5
Server name Myserver
DatabaseName Pubs
Security Windows authentication
نحوه اتصال به بانک اطلاعاتی
System.Data.oleDb.OleDbConnection cnNorthwind = new
System.Data.OleDB.OleDbConnection ( );
cnNorthwind.ConnectionString =

“Provider = SQLOLEDB;” +
“Data Source =Myserver;” +
“Initial Catalog= Pubs;” +
“Integrated Security=SSPI;” ;
ساده ترین روش تنظیم یک Connection string استفاده ار ویژوال استودیو دات نت است :
• برنامه ویژوال استودیو را فعال نمائید.
• یک ASP.NET Application و یا Windows Application را با استفاده از VB ، ایجاد نمائید.
• کنترل SqlConnection را بر روی فرم مورد نظر قرار دهید( Darg&Drop ) .
• در پنجره Properties ، خصلت ConnectionString را تنظیم نمائید.

  راهنمای خرید:
  • در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.