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

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

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

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

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

ارتباط  به منابع داده در ADO.NET ( بخش دوم ) در بخش اول این مقاله به  تشریح انواع  Data Provider  پرداخته و با نحوه انتخاب آنان بمنظور استفاده در برنامه ها ، آشنا شدیم . در این بخش به بررسی  نحوه ایجاد یک Connection خواهیم  پرداخت . Connection String ، بخشی ضروری بمنظور ارتباط با یک منبع داده است . خصلت ConnectionString مربوط به  شی Connection ، اطلاعات لازم را  در اختیار شی Connection  قرار می دهد .

امنیت بانک اطلاعاتی در زمان دستیابی به داده از طریق ADO.NET  ، می بایست با استفاده از یک روش ایمن به بانک اطلاعاتی مرتبط گردید. بمنظور نیل به هدف فوق ، اطلاعات امنیتی نظیر نام کاربر و رمز عبور می بایست قبل از ایجاد هر گونه ارتباط با بانک اطلاعاتی در اختیار وی گذاشته شوند ( ارسال اطلاعات اولیه بمنظور اطمینان از معتبر بودن کاربر  ) .امنیت بانک اطلاعاتی ، بستگی به نوع بانک اطلاعاتی مربوطه خواهد داشت .
استفاده از امنیت سرویس دهنده 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 و یا ویندوز 2000 به بانک اطلاعاتی مرتبط می گردند ، قادر به استفاده از ارتباطات 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 Authentication پیکربندی شده باشد ( استفاده از یک Login خاص ) ، login مورد نظر نادیده گرفته شده و از روش Windows Authentication استفاده خواهد شد .
روش SQL Server Authentication بمنظور سازگاری با نسخه های قبلی ارائه شده است . زیرا بر نامه های نوشته شده برای سرویس دهنده SQL 7.0 ، و یا قبل از آن می بایست از نام و رمز عبور سرویس دهنده SQL استفاده نمایند. علاوه بر این ، زمانیکه یک نمونه از سرویس دهنده SQL تحت ویندوز 98 اجراء می گردد ، چون روش Windows Authentication در نسخه وینوز 98 حمایت نمی گردد ، مجددا" از روش SQL Server Authentication استفاده خواهد شد .بنابراین سرویس دهنده SQL از Mixed Mode  در زمان اجراء ویندوز 98 استفاده می نماید ( ولی صرفا" SQL Server Authentication حمایت می گردد ) .

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

توضیحات

پارامتر

از خصلت فوق بمنظور تنظیم و یا برگرداندن نام Provider مرتبط با Connection استفاده می گردد . امکان استفاده از خصلت فوق، صرفا"  برای اشیاء OleDbConnection  وجود خواهد داشت .

Provider

مدت زمان  انتظار برحسب ثانیه بمنظور ارتباط با بانک اطلاعاتی را مشخص می نماید. ( پیش فرض 15 ) .

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 ها ، دارای پارامترهای یکسان نمی باشند .
مثال 1 - نحوه اتصال به یک بانک اطلاعاتی SQL Server 2000  با استفاده از شی SqlConnection و VB.NET 

پارامتر

مقدار

Product

SQL Server 2000

Server name

Tehran

DatabaseName

Northwind
SecurityMixed mode
Usernamesa
Password110
Timeout1 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;"

مثال 2 - نحوه اتصال به یک بانک اطلاعاتی 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;"

مثال 3 - نحوه اتصال به یک بانک اطلاعاتی  SQL Server 6.5 با استفاده از شی OleDbConnection و #C

پارامتر

مقدار

Product

SQL Server 6.5

Server name

Myserver

DatabaseName

Pubs
SecurityWindows 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 را تنظیم نمائید.

  • نجره ویرایشگر کد را فعال و کدی را که بصورت اتوماتیک ایجاد شده است ، مشاهده نمائید.

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

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