عنوان
|
نويسنده
|
مشاهده
|
تعداد
آراء |
امتياز
|
ارتباط به منابع داده در ADO.NET ( بخش دوم ) |
مديريت وب |
30265 |
32 |
3.8 |
با توجه به جایگاه داده در عصر حاضر و لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و خدمات خود را از طریق سایت www.fabak.ir به مخاطبان محترم عرضه می نماید
 |
ارتباط به منابع داده در ADO
ارتباط به منابع داده در
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 |
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;" |
مثال 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 |
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 را تنظيم
نمائيد.

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