رفتن به مطلب
جستجو در
  • تنظیمات بیشتر...
نمایش نتایجی که شامل...
جستجو در...

Professional Electronic Forum Iran

تبلیغات تجاری گروه تخصصی تعمیرکاران (تعرفه تبلیغات)

جستجو در تالارهای گفتگو

در حال نمایش نتایج برای برچسب های '•'.

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


تالارهای گفتگو

  • قوانین
    • قوانین انجمن
    • مناسبت ها
    • آموزش های استفاده از امکانات انجمن
    • بحث آزاد
    • پیشنهادات
    • فعال سازی اشتراک
    • بخش کاربران VIP
  • بخش آموزش الکترونیک
    • آموزش قدم به قدم الکترونیک
    • آموزش تست قطعات
    • مدارات الکترونیک
    • میکروکنترلرها
    • پروژه هاي الكترونيكي دانشجويي
    • نرم افزارهاي الکترونيکي
    • مشابهات ودیتا شیت قطعات
    • طراحی PCB
    • رباتیــــــــک
    • بخش درخواست مشاوره برای خرید لوازم الکترونیکی
    • بخش درخواست مشاوره خریدلوازم وملزومات مشاغل فنی
  • بخش تعمیرات DVR وNVR (مختص کاربران بولتن آموزشی)
    • فایل فلش انواع DVR و NVR
    • درخواست فایل فلش DVR و NVR
    • سوالات و مشکلات در زمینه DVR و NVR
    • تجربیات همکاران در تعمیرات DVR و NVR
    • نرم افزار های کد یابی و ریست پسورد DVR , NVR
    • مباحث آموزشی DVR , NVR
    • دیتابیس شاسی انواع DVR , NVR
    • ترمیم فایل فلش برای DVR-NVR-IP
    • حذف پسورد DVR-NVR-IP برای تمامی برندها از طریق فایل فلش
  • بخش بولتن های شرکتی (مختص کاربران ویژه بولتن آموزشی)
    • بخش بولتن های آموزشی شرکتی
    • بخش فیلم های آموزشی تعمیرات LCD-LED
    • فایل فلش و اپگرید {NAND&EMMC} پخش خودرو
    • فایل های فلش و اپگرید {EMMC} تلویزیون های هوشمند
  • بخش تعمیرات برد لوازم خانگی(مختص کاربران بولتن آموزشی)
    • بخش تعمیر برد های کولر های دوتیکه و پنجره ای
    • بخش تعمیر برد های یخچال و فریزر
    • بخش تعمیر برد های لباسشویی و ظرفشویی
    • بخش تجربیات وآموزش های تخصصی مربوط به مدارات اینور
  • بخش دستگاه کارتخوان - پوز فروشگاهی (مختص کاربران بولتن آموزشی)
    • فایل های فلش و ناند فلش دستگاه های کارتخوان
    • آموزش تعمیرات و رفع مشکلات کارتخوان
    • سوالات و مشکلات تعمیر دستگاه کارتخوان
    • درخواست فایل فلش دستگاه کارتخوان - پوزفروشگاهی
  • بخش تخصصی تعمیرات پخش ماشین
    • بخش تعمیرات پخش های شرکت پایونیر
    • بخش تعمیرات پخش های شرکت جی وی سی
    • بخش تعمیرات پخش های شرکت کنوود
    • بخش تعمیرات پخش های شرکت سونی
    • بخش تعمیرات پخش های شرکت مارشال
    • بخش تعمیرات پخش های شرکت گلدسکای
    • بخش تعمیرات پخش های شرکت سیرا
    • بخش تعمیرات پخش های شرکت سلیکس
    • بخش تعمیرات پخش های شرکت پریمیر
    • بخش تعمیرات پخش های شرکت ایران خودرو
    • بخش تعمیرات پخش های شرکت سایپا
    • بخش تعمیرات پخش های شرکت سونیا
    • بخش تعمیرات پخش شرکت های مختلف
    • تعمیرات مانیتورهای ماشینی (داشبوردی.سایه بانی.سقفی)
    • مباحث عمومی،اشتراکات پخش ها،پین اوت ها،مقالات آموزشی
    • بخش ویژه خودرو (کاربران بولتن آموزشی)
  • بخش تخصصی گیرنده های دیجیتالی
    • بخش انواع گیرنده دنایDVB-T DENAY
    • بخش انواع گیرنده مارشال DVB-T MARSHAL
    • بخش انواع گیرنده استـــارست DVB-T STARSAT
    • بخش انواع گیرنده ایکس ویژن DVB-T X.VISION
    • بخش انواع گیرنده کسری DVB-T KASRA
    • بخش انواع گیرنده سکام DVB-T SECOM
    • بخش انواع گیرنده بتر DVB-T BETTER
    • بخش انواع گیرنده فدرال DVB-T FEDERAL
    • بخش انواع گیرنده لئونو DVB-T LEONO
    • بخش انواع گیرنده پارس ویژن DVB-T PARS VISION
    • بخش انواع گیرنده میکروفایر DVB-T MICROFIRE
    • بخش انواع گیرنده ایکلاس DVB-T ECLASS
    • بخش انواع گیرنده مکسیدر DVB-T MAXEEDER
    • بخش انواع گیرنده فراسو DVB-T FARASOO
    • بخش انواع گیرنده شاتل DVB-T SHUTTEL
    • بخش انواع گیرنده متفرقه DVB-T OTHER
    • مباحث عمومی گیرنده های دیجیتال DVB-T
  • بخش تعمیرات تخصصی مانیتور و تلویزیون های CRT
  • بخش تخصصی LCD ,PLASMA ,LED ,4K,2K
  • بخش تعمیرات تخصصی GPS
  • بخش تعمیرات دستگاه های ماینر { MINER }
  • بخش تخصصی تعمیرات لپ تاپ
  • بخش تخصصی طراحی تابلو های ثابت LED , نئون , چلنیوم
  • بخش تخصصی تعمیرات مادربورد
  • بخش تعمیرات تخصصی سیستم های صوتی
  • بخش تخصصی تعمیرات سخت افزار کامپیوتر
  • بخش تعمیرات تخصصی Blu-Ray Disc,DVD,MP3
  • بخش تخصصی دوربین های عکاسی و فیلمبرداری
  • بخش تخصصی تعمیرات انواع چاپگر ها ،فاکس ها و اسکنره
  • بخش تخصصی تلفن همراه
  • بخش تخصصی تعمیرات تبلت
  • بخش تعمیرات کلیه تلفن ها(بیسم،رومیزی،فکس)
  • بخش تخصصی تعمیرات و نصب دوربین های مداربسته
  • بخش تخصصی تعمیرات کنسول های بازی
  • بخش تخصصی تعمیرات آیفون
  • بخش پروگرامر ها
  • بخش تخصصی تعمیرات دیتاپروژکتور
  • بخش تخصصی تعمیرات لوازم خانگی
  • بخش تخصصی ماشین
  • بخش تخصصی تعمیرات UPS
  • بخش کامپیوتر و اینترنت
  • جزوات و دروس دانشگاهی
  • فروشگاه انجمن

وبلاگ‌ها

چیزی برای نمایش وجود ندارد


جستجو در...

نمایش نتایجی که شامل...


تاریخ ایجاد

  • شروع

    پایان


آخرین بروزرسانی

  • شروع

    پایان


فیلتر بر اساس تعداد...

تاریخ عضویت

  • شروع

    پایان


گروه


About Me

  1. mhcenter

    • - Virtual private network چيست ؟

    چيست؟ (بخش اول) ، نظري و عملي برقرار كردن امنيت براي يك شبكه درون يك ساختمان كار ساده اي است . اما هنگامي كه بخواهيم از نقاط دور رو ي داده هاي مشترك كار كنيم ايمني به مشكل بزرگي تبديل مي شود . در اين بخش به اصول و ساختمان يك براي سرويس گيرنده هاي ويندوز و لينوكس مي پردازيم . اصول فرستادن حجم زيادي از داده از يك كامپيوتر به كامپيوتر ديگر مثلا” در به هنگام رساني بانك اطلاعاتي يك مشكل شناخته شده و قديمي است . انجام اين كار از طريق Email به دليل محدوديت گنجايش سرويس دهنده Mail نشدني است . استفاده از FTP هم به سرويس دهنده مربوطه و همچنين ذخيره سازي موقت روي فضاي اينترنت نياز دارد كه اصلا” قابل اطمينان نيست . يكي از راه حل هاي اتصال مستقيم به كامپيوتر مقصد به كمك مودم است كه در اينجا هم علاوه بر مودم ، پيكر بندي كامپيوتر به عنوان سرويس دهنده RAS لازم خواهد بود . از اين گذشته ، هزينه ارتباط تلفني راه دور براي مودم هم قابل تامل است . اما اگر دو كامپيوتر در دو جاي مختلف به اينترنت متصل باشند مي توان از طريق سرويس به اشتراك گذاري فايل در ويندوز بسادگي فايل ها را رد و بدل كرد . در اين حالت ، كاربران مي توانند به سخت ديسك كامپيوترهاي ديگر همچون سخت ديسك كامپيوتر خود دسترسي داشته باشند . به اين ترتيب بسياري از راه هاي خرابكاري براي نفوذ كنندگان بسته مي شود . شبكه هاي شخصي مجاري يا ( Virtual private Network ) ها اينگونه مشكلات را حل مي كند . به كمك رمز گذاري روي داده ها ، درون يك شبكه كوچك مي سازد و تنها كسي كه آدرس هاي لازم و رمز عبور را در اختيار داشته باشد مي تواند به اين شبكه وارد شود . مديران شبكه اي كه بيش از اندازه وسواس داشته و محتاط هستند مي توانند را حتي روي شبكه محلي هم پياده كنند . اگر چه نفوذ كنندگان مي توانند به كمك برنامه هاي Packet sniffer جريان داده ها را دنبال كنند اما بدون داشتن كليد رمز نمي توانند آنها را بخوانند . -4.1.1 چيست ؟ دو كامپيوتر يا دو شبكه را به كمك يك شبكه ديگر كه به عنوان مسير انتقال به كار مي گيرد به هم متصل مي كند . براي نمونه مي توان ب دو كامپيوتر يكي در تهران و ديگري در مشهد كه در فضاي اينترنت به يك شبكه وصل شده اند اشاره كرد . از نگاه كاربر كاملا” مانند يك شبكه محلي به نظر مي رسد . براي پياده سازي چنين چيزي ، به هر كاربر يك ارتباط IP مجازي مي دهد . داده هايي كه روي اين ارتباط آمد و شد دارند را سرويس گيرنده نخست به رمز در آورده و در قالب بسته ها بسته بندي كرده و به سوي سرويس دهنده مي فرستد . اگر بستر اين انتقال اينترنت باشد بسته ها همان بسته هاي IP خواهند بود . سرويس گيرنده بسته ها را پس از دريافت رمز گشايي كرده و پردازش لازم را روي آن انجام مي دهد . در آدرس http://www.WOWN.COM\W-baeten\gifani\ani.gif شكل بسيار جالبي وجود دارد كه چگونگي اين كار را نشان مي دهد . روشي كه شرح داده شد را اغلب Tunneling يا تونل زني مي نامند چون داده ها براي رسيدن به كامپيوتر مقصد از چيزي مانند تونل مي گذرند . براي پياده سازي راه هاي گوناگوني وجود دارد كه پر كاربرد ترين آنها عبارتند از Point to point Tunneling protocol يا PPTP كه براي انتقال NetBEUI روي يك شبكه بر پايه IP مناسب است . Layer 2 Tunneling protocol يا L2TP كه براي انتقال IP ، IPX يا NetBEUI روي هر رسانه دلخواه كه توان انتقال Datagram هاي نقطه به نقطه ( Point to point ) را داشته باشد مناسب است . براي نمونه مي توان به IP ، X.25 ، Frame Relay يا ATM اشاره كرد . IP Security protocol يا Ipsec كه براي انتقال داده هاي IP روي يك شبكه بر پايه IP مناسب است . -4.1.2 پروتكل هاي درون تونل Tunneling را مي توان روي دو لايه از لايه هاي OSI پياده كرد . PPTP و L2TP از لايه 2 يعني پيوند داده استفاده كرده و داده ها را در قالب Frame هاي پروتكل نقطه به نقطه ( PPP ) بسته بندي مي كنند . در اين حالت مي توان از ويژگي هاي PPP همچون تعيين اعتبار كاربر ، تخصيص آدرس پويا ( مانند DHCP ) ، فشرده سازي داده ها يا رمز گذاري داده ها بهره برد. با توجه به اهميت ايمني انتقال داده ها در ، دراين ميان تعيين اعتبار كاربر نقش بسيار مهمي دارد . براي اين كار معمولا” از CHAP استفاده مي شود كه مشخصات كاربر را در اين حالت رمز گذاري شده جابه جا ميكند . Call back هم دسترسي به سطح بعدي ايمني را ممكن مي سازد . در اين روش پس از تعيين اعتبار موفقيت آميز ، ارتباط قطع مي شود . سپس سرويس دهنده براي برقرار كردن ارتباط جهت انتقال داده ها شماره گيري مي كند . هنگام انتقال داده ها ، Packet هاي IP ، IP X يا NetBEUI در قالب Frame هاي PPP بسته بندي شده و فرستاده مي شوند . PPTP هم Frame هاي PPP را پيش از ارسال روي شبكه بر پايه IP به سوي كامپيوتر مقصد ، در قالب Packet هاي IP بسته بندي مي كند . اين پروتكل در سال 1996 از سوي شركت هايي چون مايكرو سافت ، Ascend ، 3 com و Robotics US پايه گذاري شد . محدوديت PPTP در كار تنها روي شبكه هاي IP باعث ظهور ايده اي در سال 1998 شد .L2TP روي X.25 ،Frame Relay يا ATM هم كار مي كند . برتري L2TP در برابر PPTP اين است كه به طور مستقيم روي رسانه هاي گوناگون WAN قابل انتقال است . 4.1.3 - -Ipsec فقط براي اينترنت Ipsec برخلافPPTP و L2TP روي لايه شبكه يعني لايه سوم كار مي كند . اين پروتكل داده هايي كه بايد فرستاده شود را همراه با همه اطلاعات جانبي مانند گيرنده و پيغام هاي وضعيت رمز گذاري كرده و به آن يك IP Header معمولي اضافه كرده و به آن سوي تونل مي فرستد . كامپيوتري كه در آن سو قرار دارد IP Header را جدا كرده ، داده ها را رمز گشايي كرده و آن را به كامپيوتر مقصد مي فرستد .Ipsec را مي توان با دو شيوه Tunneling پيكر بندي كرد . در اين شيوه انتخاب اختياري تونل ، سرويس گيرنده نخست يك ارتباط معمولي با اينترنت برقرار مي كند و سپس از اين مسير براي ايجاد اتصال مجازي به كامپيوتر مقصد استفاده مي كند . براي اين منظور ، بايد روي كامپيوتر سرويس گيرنده پروتكل تونل نصب شده باشد . معمولا” كاربر اينترنت است كه به اينترنت وصل مي شود . اما كامپيوترهاي درون LAN هم مي توانند يك ارتباط برقرا كنند . از آنجا كه ارتباط IP از پيش موجود است تنها برقرار كردن ارتباط كافي است . در شيوه تونل اجباري ، سرويس گيرنده نبايد تونل را ايجاد كند بلكه اين كار ار به عهده فراهم ساز (Service provider ) است . سرويس گيرنده تنها بايد به ISP وصل شود . تونل به طور خودكار از فراهم ساز تا ايستگاه مقصد وجود دارد . البته براي اين كار بايد همانگي هاي لازم با ISP انجام بگيرد .ٍ ويژگي هاي امنيتي در IPsec Ipsec از طريق Authentication Header ( AH ) مطمئن مي شود كه Packet هاي دريافتي از سوي فرستنده واقعي ( و نه از سوي يك نفوذ كننده كه قصد رخنه دارد ) رسيده و محتويات شان تغيير نكرده . AH اطلاعات مربوط به تعيين اعتبار و يك شماره توالي (Seguence Number ) در خود دارد تا از حملات Replay جلوگيري كند . اما AH رمز گذاري نمي شود . رمز گذاري از طريق Encapsulation Security Header يا ESH انجام مي گيرد . در اين شيوه داده هاي اصلي رمز گذاري شده و اطلاعاتي را از طريق ESH ارسال مي كند . ESH همچنين كاركرد هايي براي تعيين اعتبار و خطايابي دارد . به اين ترتيب ديگر به AH نيازي نيست . براي رمز گذاري و تعيين اعتبار روش مشخص و ثابتي وجود ندارد اما با اين همه ، IETF براي حفظ سازگاري ميان محصولات مختلف ، الگوريتم هاي اجباري براي پياده سازي Ipsec تدارك ديده . براي نمونه مي توان به MD5 ، DES يا Secure Hash Algorithm اشاره كرد . مهمترين استانداردها و روش هايي كه در Ipsec به كار مي روند عبارتند از : • Diffie-Hellman براي مبادله كليد ها ميان ايستگاه هاي دو سر ارتباط . • رمز گذاري Public Key براي ثبت و اطمينان از كليدهاي مبادله شده و همچنين اطمينان از هويت ايستگاه هاي سهيم در ارتباط . • الگوريتم هاي رمز گذاري مانند DES براي اطمينان از درستي داده هاي انتقالي . • الگوريتم هاي درهم ريزي ( Hash ) براي تعيين اعتبار تك تك Packet ها . • امضاهاي ديجيتال براي تعيين اعتبارهاي ديجيتالي . 4.1.5 - Ipsec بدون تونل Ipsec در مقايسه با ديگر روش ها يك برتري ديگر هم دارد و آن اينست كه مي تواند همچون يك پروتكل انتقال معمولي به كار برود . در اين حالت برخلاف حالت Tunneling همه IP packet رمز گذاري و دوباره بسته بندي نمي شود . بجاي آن ، تنها داده هاي اصلي رمزگذاري مي شوند و Header همراه با آدرس هاي فرستنده و گيرنده باقي مي ماند . اين باعث مي شود كه داده هاي سرباز ( Overhead ) كمتري جابجا شوند و بخشي از پهناي باند آزاد شود . اما روشن است كه در اين وضعيت ، خرابكاران مي توانند به مبدا و مقصد داده ها پي ببرند . از آنجا كه در مدل OSI داده ها از لايه 3 به بالا رمز گذاري مي شوند خرابكاران متوجه نمي شوند كه اين داده ها به ارتباط با سرويس دهنده Mail مربوط مي شود يا به چيز ديگر . 4.1.6 – جريان يك ارتباط Ipsec بيش از آن كه دو كامپيوتر بتوانند از طريق Ipsec داده ها را ميان خود جابجا كنند بايد يكسري كارها انجام شود . • نخست بايد ايمني برقرار شود . براي اين منظور ، كامپيوترها براي يكديگر مشخص مي كنند كه آيا رمز گذاري ، تعيين اعتبار و تشخيص خطا يا هر سه آنها بايد انجام بگيرد يا نه . • سپس الگوريتم را مشخص مي كنند ، مثلا” DEC براي رمزگذاري و MD5 براي خطايابي. • در گام بعدي ، كليدها را ميان خود مبادله مي كنند . Ipsec براي حفظ ايمني ارتباط از Security Association (SA ) استفاده مي كند . SA چگونگي ارتباط ميان دو يا چند ايستگاه و سرويس هاي ايمني را مشخص مي كند . SA ها از سوي SPI ( Security parameter Index ) شناسايي مي شوند . SPI از يك عدد تصادفي و آدرس مقصد تشكيل مي شود . اين به آن معني است كه همواره ميان دو كامپيوتر دو SPI وجود دارد : يكي براي ارتباط A و B و يكي براي ارتباط B به A . اگر يكي از كامپيوترها بخواهد در حالت محافظت شده داده ها را منتقل كند نخست شيوه رمز گذاري مورد توافق با كامپيوتر ديگر را بررسي كرده و آن شيوه را روي داده ها اعمال مي كند . سپس SPI را در Header نوشته و Packet را به سوي مقصد مي فرستد . 4.1.7 - مديريت كليدهاي رمز در Ipsec اگر چه Ipsec فرض را بر اين مي گذارد كه توافقي براي ايمني داده ها وجود دارد اما خودش براي ايجاد اين توافق نمي تواند كاري انجام بدهد . Ipsec در اين كار به IKE ( Internet Key Exchange ) تكيه مي كند كه كاركردي همچون IKMP ( Key Management Protocol ) دارد. براي ايجاد SA هر دو كامپيوتر بايد نخست تعيين اعتبار شوند . در حال حاضر براي اين كار از راه هاي زير استفاده مي شود : • Pre shared keys : روي هر دو كامپيوتر يك كليد نصب مي شود كه IKE از روي آن يك عدد Hash ساخته و آن را به سوي كامپيوتر مقصد مي فرستد . اگر هر دو كامپيوتر بتوانند اين عدد را بسازند پس هر دو اين كليد دارند و به اين ترتيب تعيين هويت انجام مي گيرد . • رمز گذاري Public Key : هر كامپيوتر يك عدد تصادفي ساخته و پس از رمز گذاري آن با كليد عمومي كامپيوتر مقابل ، آن را به كامپيوتر مقابل مي فرستد .اگر كامپيوتر مقابل بتواند با كليد شخصي خود اين عدد را رمز گشايي كرده و باز پس بفرستد برا ي ارتباط مجاز است . در حال حاضر تنها از روش RSA براي اين كار پيشنهاد مي شود . • امضاء ديجيتال : در اين شيوه ، هر كامپيوتر يك رشته داده را علامت گذاري ( امضاء ) كرده و به كامپيوتر مقصد مي فرستد . در حال حاضر براي اين كار از روش هاي RSA و DSS ( Digital Singature Standard ) استفاده مي شود . براي امنيت بخشيدن به تبادل داده ها بايد هر دو سر ارتبا طنخست بر سر يك يك كليد به توافق مي رسند كه براي تبادل داده ها به كار مي رود . برا ي اين منظور مي توان همان كليد به دست آمده از طريق Diffie Hellman را به كاربرد كه سريع تر است يا يك كليد ديگر ساخت كه مطمئن تر است . 4.1.8 – خلاصه تبادل داده ها روي اينرنت چندان ايمن نيست . تقريبا” هر كسي كه در جاي مناسب قرار داشته باشد مي تواند جريان داده ها را زير نظر گرفته و از آنها سوء استفاده كند . شبكه هاي شخصي مجازي يا ها كار نفوذ را برا ي خرابكاران خيلي سخت مي كند .
  2. مقدمه عرضه شدن نسخه 2005 پایگاه دادهای مشهور مایکروسافت یعنی SQLServer، بازار نرمافزارهای بانک اطلاعاتی را به شدت تحت تأثیر خود قرار داد. امکانات گستردهای که در این نسخه جدید تعبیه شده، طراحی و پیادهسازی بانکهای اطلاعاتی را سرعت بخشیده و تلفیق و انطباق آن با انواع فناوریهای نو مانند XML وADO.NET، باعث افزایش قدرت و کارایی آن شده است. در این فصل به برخی از ویژگیهای جدید این برنامه نگاهی خواهیم داشت. Snapshot Isolation Level یکی از روشهایی که به انواع متدهای قفل کردن ردیف های یک جدول بانکاطلاعاتی در نسخه جدید اضافه شده است، شیوه تصویربرداری از رکورد است. در روشهای قبلی، اگر یک یا چند رکورد بانک اطلاعاتی توسط دستور BeginTrans که شروع یک فرآیند را مشخص میکند در شرف تغییر یا حذف قرار میگرفتند، تا مادامی که فرآیند مذکور توسط دستور Commit Trans تأیید یا توسط RollBack منتفی نشود، از هیچ جا و برنامهای نمیتوان رکوردهای مذکور را حتی با دستور ساده SELECT خواند. اما در روش جدید قفلگذاری، در صورت بروز چنین رویدادی سایر کاربران میتوانند همواره آخرین ارزش رکوردهای مذکور را با این فرض که هنوز هیچ تغییری در آنها ایجاد نشده است بخوانند و مورد استفاده قرار دهند. باز هم داتنت با نسخه جدید SQL Server، برنامهنویسان بانکهای اطلاعاتی قادرند از امکانات و قابلیتهای موجود در پلتفرم داتنت و کلیه توابع و کلاسهای ساخته شده در آن بهرهمند شوند. یکی از ابتداییترین و در عین حال اساسیترین این قابلیتها، امکان استفاده از دو زبان مهم و کاربرپسند داتنت یعنی ویژوال بیسیک و سیشارپ در پیادهسازی اجزای مختلف یک بانکاطلاعاتی است. این عامل نهتنها باعث میشود که برنامهنویسان برای نوشتن ماژولهایی مثل تریگرها، روالها (Stored Procedures) در توابع به جای استفاده از زبان استاندارد و در عین حال پیچیده T-SQL ، بتوانند از زبانهای محیط داتنت با تمام ساختارها، دستورات، کلاسها، آرایهها، و خلاصه تمام ویژگیهای یک زبان شی گرا استفاده کنند، بلکه این همکاری نزدیک بین موتور برنامهنویسی داتنت یعنی CLR (که مسؤول تبدیل کدهای نوشته شده داتنت به زبان سیستمعامل است) و موتور بانک اطلاعاتی SQLServer باعث شده تا به غیر از تنوع زبانهای برنامهنویسی قابل استفاده درSQLServer، تغییر قابل توجهی نیز در کارایی ماژولهای مذکور پیش آید. در واقع موضوع از این قرار است که اصولاً کدهای نوشته شده به زبانهای داتنت، ابتدا توسط کامپایلر به زبان (IL) ترجمه میشوند. سپس CLR این کد میانی را به کد قابل فهم سیستمعامل تبدیل و آماده اجرا مینماید. این کار سبب میشود تا کدهای نهایی به دلیل اینکه بسیار به سیستمعامل نزدیک میباشد سریعتر از کدهای TSQL (که فقط توسط موتور بانک اطلاعاتی قابل اجرا هستند) اجرا شوند و در زمان اجرا از کارایی بیشتری برخوردار باشند. البته این مسأله بدین معنی نیست که استفاده از زبانهای داتنت همیشه بر زبانهای SQL ارجحیت دارد، بلکه منظور آن است که در برخی موارد ممکن است آن قدر منطق و الگوریتم یک ماژول پیچیده باشد که برنامهنویس استفاده از زبانهای داتنت را به دلیل آسانتر بودن ساختار و دستورات آن به زبان SQL ترجیح دهد. بنابراین زمانی که بیشترعملیات یک ماژول مربوط به خواندن و نوشتن اطلاعات باشد بهتر است از همان دستورات استاندارد SQL یعنی SELECT ،UPDATE ،DELETE وINSERT استفاده کرده و بیجهت منابع سیستم را صرف تعریف متغیرها و کلاسهای داتنت ننماید. اما در ماژولهایی که بیشتر عملیاتشان شامل پردازش اطلاعات مثل انجام عملیاتهای ریاضی یا مقایسه اطلاعات با یکدیگر است بهتر است تا هم از امکانات برنامهنویسی و هم از سرعت و کارایی بالای داتنت در این زمینه بهره برد و ماژولهای مذکور را با زبانهای داتنت پیادهسازی کرد. ADO.NET طبق یک سنت نهچندان قدیمی برنامهنویسی در محیط ویندوز، برنامهنویسان SQLServer، بانک اطلاعاتی موردنظرشان را برروی سرور و برنامه کاربردی نوشته شده با زبانی مثل ویژوال بیسیک را بر روی کلاینتها قرار میدهند. سپس از طریق این برنامه کاربردی و با استفاده از اشیایی از جنس ADO دادههای موردنیاز خود را از سمت سرور دریافت کرده و یا به آن ارسال میکنند. اکنون این ارتباط به لطف نسخه جدید SQLServer و همچنین محیط داتنت، با امکانات جدیدADO.NET بسیار کاملتر از قبل شده است. این ارتباط جدید با استفاده از مکانیسمی به نام اعلان (Notification) به یک ارتباط دوطرفه فعال تبدیل شده به طوری که ADO.NET قادر است پیغامهایی را از سمت پایگاه داده به سمت کلاینت ارسال کند. به عنوان مثال فرض کنید که شما با استفاده ازADO تعدادی از رکوردهای یک جدول بانک اطلاعاتی را انتخاب کرده و مشغول کار برروی آنها هستید. در همین هنگام کاربر دیگری از طریق کلاینت و ADO خود، رکوردی در محدوده رکوردهای مورد انتخاب شما را تغییر میدهد یا حذف میکند. در این وقت موتور پایگاه داده با ارسال پیغامی به ADO شما، این مسأله را با استفاده از فراخوانی یک رخداد (Event) شی ADO به اطلاعتان میرساند. علاوه براین قابلیت جدید، فناوری جدید دیگری هم با استفاده ازADO.NET به نسخه جدید SQLServer اضافه شده و آن امکان چند پرسوجوی همزمان توسط یک شی ADO است. در این شیوه اگر یک شی ADO با استفاده از دستور SELECT مشغول خواندن تعدادی از رکوردهای یک جدول بانک اطلاعاتی باشد، میتواند بدون اینکه منتظر به پایان رسیدن این عملیات شود، تعداد دیگری از رکوردهای یک جدول دیگر بانک اطلاعاتی را بخواند. این قابلیت جدید با نام (Multiple Active Result Set (MARS که قبلاً فقط در کرسرهای سمت سرور (server side) و آن هم نه با کارایی بالا وجود داشت اکنون در کرسرهای سمت راست کلاینت هم وجود دارد و تفاوت عمده آن با شکل قدیمی هم علاوه بر مورد مذکور، امکان ایجاد چند کرسر در یک شی ADO به صورت همزمان است. SQLServer نسخه 2005 به خوبی از تمام این ویژگیها، پشتیبانی میکند. تکنولوژی XML اکنون که XML به یک استاندارد ارتباطی بین سکوهای مختلف تبدیل شده است، نسخه جدید SQLServer هم از توجه کافی به آن و ایجاد یک انقلاب در سادهتر استفاده کردن از آن طفره نرفته است. در نسخه 2000 کاربران قادر بودند تا با استفاده از دستور FOR XML نتیجه یک پرسوجوی SELECT از یک بانک اطلاعاتی را به درون یک فایل XML بریزند یا مثلاً با دستور OPEN XML میتوانستند یک فایل XML را باز کرده و شروع به خواندن دستورات درون آن نمایند. از آنجا که در نسخه جدید SQLServer توجه خاصی به این استاندارد و زبان ارتباطی شده است، یک نوع داده جدید (Data type) به انواع دادههای قبلی و استاندارد SQL مثل int ، char و امثال آن اضافه شده است. این نوع داده جدید که XML نام دارد و دارای خصوصیات یک نوع داده موجود در یک محیط شیگرا است، دارای متدهای پیشرفتهای چون nodes() ،Value() ،exist() ،query و ()modify بوده و قادر است انواع پردازشهای قابل انجام برروی اسناد XML را به راحتی انجام دهد. عملیات جستجو، تغییر، حذف و درج مقادیر موردنظر در داخل یک فایل XML را میتوان با استفاده از متدهای مذکور و صرفاً با چند خط برنامهنویسی انجام داد. همچنین در این نسخه برخلاف نسخه 2000، با استفاده از دستور FOR XML میتوان یک شیء از جنس XML را بدون ارسال آن به کلاینت، برروی سرور ساخته و از آن نگهداری کرد. با این کار میتوان جداولی را که مرتباً مورد رجوع کاربران قرار میگیرند هر از گاهی در قالب XML به داخل حافظه آورد و کاربران مذکور به جای رجوع به جداول اصلی در هارددیسک، با استفاده از دستورات ویژه جستجو درXML ، متغیر مذکور را در حافظه سرور مورد جستجو قرار دهند و بدینوسیله یک نوع عمل Cache کردن را جهت افزایش سرعت دسترسی به اطلاعات تکراری شبیهسازی کنند. در این حالت، کاربران به جای استفاده از دستورSELECT استاندارد میتوانند از OPEN XML که در نسخه 2005 قادر است متغیرهای جدید از نوع XML را بخواند استفاده کرده و به سرعت به اطلاعات موردنیاز خود دسترسی پیدا کنند. این قابلیت جدید آنقدر در سریعتر کردن جستجو در برنامههای تحت وب مهم و مؤثر است که جای هیچ مشکلی را در استفاده از آن باقی نمیگذارد. سرویس اعلان (Notification) همانطور که گفتیم سیستم اعلان درSQLServer قادر است پیغامهایی را طی زمانهای مشخص به سمت کاربران بفرستد. مثلاً تصور کنید که تعدادی کاربر در حال اتصال به یک بانک حاوی اطلاعات مربوط به ارزش سهام در بورس هستند. از آنجایی که ممکن است قیمت سهام هر شرکت یا مؤسسه برای تعدادی از کاربران از اهمیت زیادی برخوردار باشد، میتوان این سیستم را طوری تنظیم کرد تا هرگاه ارزش سهام خاصی که موردنظر هر کاربر است تغییر کرد، به صورت اتوماتیک به وی اعلام شود. کاربر هم میتواند این تغییرات را برروی برنامه کاربردی خود، تلفن همراه (در قالب Windows Messenger ،(SMS و یا ایمیل بهصورت مرتب دریافت و مشاهده کند. سرویس گزارشگیری سرویس جدید تولید گزارشهای متنوع در نسخه 2005 به یکی از جالبترین و پرکاربردترین قابلیتهای این نسخه تبدیل شده است، وجود یک موتور گزارشگر قوی در سمت سرور و یک ابزار مناسب ساخت گزارش با واسط کاربر عالی، باعث شده تا برنامهنویسان بتوانند گزارشهای موردنظر خود را با کارایی و سرعت مناسب در سمت سرور بسازند به طوری که این گزارشهای سمت سرور توسط هر برنامه کاربردی سمت کلاینت در هر پلتفرمی با همان امکانات اتصال به SQLServer قابل مشاهده است. بهبودهای ایجاد شده در زبان در 2005 SQLServer تغییرات بسیار مثبتی در زبان TSQL ایجاد شده است. این تغییرات در زمینههای مختلف مثل مدیریت خطاها، جستجوهای بازگشتی (Recursive Query) و حتی در بدنه موتور پایگاه دادهها انجام شده و کارایی کلی ذخیره و یا خواندن اطلاعات را به نحو مطلوبی افزایش داده است. به عنوان مثال دردستورات TSQL، دو اپراتور جدید دیده میشود، که PIVOT وUNPIVOT نام دارند. این دو اپراتور که در قسمت FROM یک پرسوجو مورد استفاده قرار میگیرند میتوانند نتیجه یک جستجوی انجام شده توسط دستور SELECT را به جای برگرداندن در قالب ردیفها یا رکوردهای پشتسرهم، به صورت ستونهای مختلف یک یا چند رکورد برگردانند. در این روش یکی از ستونهای (فیلدهای) یک جستجو به عنوان محور معرفی شده و بقیه ستونها براساس آن به صورت افقی طبقهبندی میشوند. به یک مثال توجه کنید: SELECT CUSTOMER ID, order No FROM orders PIVOT CustomerID Order No Order No Order No Order No Customer ID 4400 1120 25 1 350 2 1780 443 3 8989 2222 1980 555 4 نتیجه جستجوی فوق چیزی شبیه جدول بالا خواهد بود همانطور که مشاهده میکنید با استفاده از اپراتور مذکور، نتیجه پرسوجوی انجام شده به این صورت که هر ردیف به یک شماره مشتری و چندین شماره سفارش مربوطه به آن مشتری در قالب ستونهای مختلف است، در میآید. این همان چیزی است که سالها درSQLServer وجود نداشت و ابزارهای مختلف گزارشسازی مثل CrystalReport آن را با نام Cross Tab به کاربران خود ارایه میدادند. در همین رابطه اپراتورUNPIVOT هم عمل عکس اپراتور مذکور را انجام میدهد. اپراتور دیگری که میتواند نقش مهمی را در دستورات SQL بازی کند APPLY نام دارد که در قسمت FROM یک دستور SQL به کار میرود. با استفاده از این دستور میتوان خروجی یک تابع (Function) را با یک یا چند جدول دیگر ترکیب (Join) کرد همانطور که میدانید در 2005 SQLServer توابع میتوانند یک یا چند ردیف یک جدول اطلاعاتی را برگردانند که این خروجی میتواند با یک جدول دیگر با استفاده از اپراتور مذکور ترکیب شود.
×
×
  • اضافه کردن...