دانلود با لینک مستقیم و پر سرعت .
لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه31
فهرست مطالب
2-2- ارتباطهایی بر پایه DSN
برنامه هائئ که درزمینه DATA BASE کار می کنند به دو قسمت تقسیم می شوند. یک قسمت لایه بیرونی یا USER INTERFACE (برنامه ای است که معمولا با برنامه های VISUALای نوشته می شود.) قسمت دیگر خود DATABASE است که بوسیله یکی از زبانهای بانکهای اطلاعاتی (که برپایه بانکهای اطلاعاتی رابطه ای (RDBMS)
نوشته می شود. قسمت اول یاAPPLICATION به وسیله زبانVISUAL BASIC ساخته می شود که وظیفه نما یش گرافیکی, زیبایی, کنترل کاربر و ارتباط با DATA BASE را بعهده می گیرد.
اگر چه فناوری ODBC دارای اهداف بزرگ مشابهی است لیکن اجرای آن ساده نیست .بخاطر اینکه ODBCAPI برای برنامه نویسان متوسط کمی مشکل است و طوری ساخته شده است که حتی برای برنامه نویسان پیشرفته نیز ابزار پرزحمتی به حساب می آید . بر مبنای ODBC ، ADO به بوجود آمد که دسترسی به داده های زیادی را ایجاد خواهد نمود.RDO برای دسترسی به پایگاه داده از واسط ODBC استفاده می کند ، و DAO از موتور JET داخلی خود . در حالیکه ADO بجای آن از OLEDB (پایگاه داده OLE ) استفاده می کند . OLEDB شیئ ایست کاملاً جدید برای اتصال به منابع داده .می توان OLEDB را جانشین ODBC در اتصال به منابع داده دانست .طراحی داخلی OLEDB دسترسی به منابع داده غیر SQL , را نیز(به همان سهولت دسترسی به داده های SQL ) ممکن ساخته است .
در گذشته برای دسترسی به پایگاه های داده راه دور باید از API هایا درایورهای ODBC استفاده می کردیم .در اغلب موارد یافتن درایور ODBC مناسب برای منبع داده مورد نظر امکان پذیر است ، اگر چه این روش مشکلات خاص خود را دارد.در این استاندارد ، درایور ODBC باید از زبان SQL پشتیبانی کند، و داده ها نیز بصورت جدول ( متشکل از سطر و ستون ) سازمان داده شده باشند . اما در برخی موارد چنین ساختاری برای ذخیره کردن داده ها مناسب نیست ، بخصوص داده هایی که دارای ساختار سلسله مراتبی هستند ، مانند سرویس های دایرکتوری و e-mail .
برنامه هایی مثل VISUAL BASIC , DELPHI , VC++ با رابطهایی چون COM, DCOM,ACTIVE X به DATA BASE وصل می شوند.ADOیکی از ACTIVE X هایی است که با DATABASE ارتباط برقرار می کند.
در این برنامه با اسافاده از Objectهای ارتباط با DataBase که در بالا توضیح داده شد به بانک اطلاعاتی SQLServer متصل شده و با استفاده از قابلیتهای شیء ADO برای وارد کردن اطلاعات حسابداری ( اسناد حسابداری ، اطلاعات حسابداری ، اطلاعات ارز ، … ) و یا برای گرفتن اطلاعات حسابداری ( ترازهای حساب ، گردش حساب ، نمایش اسناد ، …) با بانک اطلاعاتی ارتباط برقرار نمودیم.
در کنار ابزار داخلی VB برای گرفتن گزارشات و نمودارهای برنامه از برنامه CRYSTALL REPORT 9.0 ساخت شرکت آمریکایی SEGATE که دارای جلوه های زیبا و قدرت بالا برای نمایش اطلاعات برنامه است استفاده شده است
ابزارهای ارتباط با DataBase
1-DCOM,COM
یک برنامه کاربردی عموما دارای یک فایل باینری است که نمی توان در ان تغییری ایجاد کرد مگر اینکه نوع جدید ان را با نوع قبلی جایگزین کرد. گونه) ویرژن( بعدی بایستی ایجاد ,خطا یابی و مجددا کامپایل شود.در این حالت مدت زمان ساخت و توسعه برنامه های کاربردی افزایش پیدا می کند. می توانیم برنامه را به چندین جزء منطق به نام OOAD (OBJECT-ORIENTED تقسیم ( ANALYSIST AND DESIGN کنیم. برای مثال می توانیم یک برنامه ساده ویرایشگر را به چندین قسمت منطقی تقسیم کنیم ( ناحیه متن، میله ابزار،…)سپس می توانیم درباره هرقسمت بصورت مستقل فکر و تصمیم گیری کرده و ارتباط هر قسمت با سایر قسمتها را مشخص نماییم.هر قسمت(جزء) را میتوانیم در برنامه ای که به آن نیاز دارد قرار داد. نرم افزارهایی که با ترکیبی از اجزاء ساخته شده اند COMPONENT WARE نامیده می شوند.COM در سطر بانیری قرار دارد و بر این نکته دلالت دارد که میتوانند درزبانهای مختلف نوشته شوند وباهم در ارتباط باشند.
COM یک زبان برنامه نویسی است. توسط زبانهای برنامه نویسی متفاوتی مانند C++ و Cو پاسکال و سایر زبانها می توان COM ایجاد کرد. COM مستقل از زبان ,موقعیت و کامپایلر است. میکروسافت با توسعه COM موجب شد که برنامه های کاربردی انعطاف پذیری بیشتر ودینامیک فراوانی تری پیدا کنند. مانند اکثر محصولات میکروسافت، ویژوال بیسیک هم از COM استفاده می کنند . اگر چه جزئیات COMاز دید برنامه نویس مخفی است.ولی ما درمورد COM وجزئیات مرتبط با آن مطالبی رابیان خواهیم کردچرا که COM پایه اکتیواکس را تشکیل می دهد.
برنامه های کاربردی با COM با یکسری ازاستانداردهای واسط با سایر اجزاء درارتباط هستند.
انواع متفاوتی از واسطه های COM وجود دارند، تعدادی برای کنترلهای اکتیواکس ،تعدادی برای انتقال داده، تعدادی برای ذخیره سازی اطلاعات و غیره . بیشتر واسطه های بنیادی COM ,IUNKNOWN هستند.
هر واسط COM ,IUNKNOWN بایستی شامل متعددهای ADDREF, QUERYINTERFACE , وRELEASE باشد.
ازمتعددها ADDREF, RELEASE به منظور کنترل طول عمر جزء COM استفاده می شود . متعدد QUERY INTERFACE روشی برای پرس و جو است. اگر یک جزء COM عملا از واسط COM پشتیبانی کند. مثلا یک جزء دیگر COMنیاز داشته باشد تا مشخص کند یک جزء دیگر COM آیا از واسط کشیدن ورها کردن حمایت می کندیا نه .میکروسافت با توسعه کارایی COM ، COM+ را اخیرا به بازار ارائه کرده است . کارایی COM+ علمی تراز COM است.
زمانیکه برنامه نویسان ویژوال بیسیک نتوانند بطور مستقیم با COM کار کنند دیگر نمی توانند ازمزایای COM+بهره مند شوند.
COMتوزیع شده(DCOM) نوع توزیع شدة COM است. DCOMبه مفهوم اجرای،اجزایCOM برروی یک ماشین راه دوراست درحالیکه تمام جزئیات از دید برنامه نویس پنهان است.
همچنین DCOMدارای ویژگیهایی است که COMاز آنها برخوردار نیست(مانندامنیت).DCOMجزء اصلی وضروری ایجاد برنامه هایEnterprise-Level است.طریقة برقراری ارتباطات در DCOM همانند COM است چرا کهDCOM توسعه یافته COM است.
1-1چگونه میتوانیم از COM استفاده کرد؟
تمام این موارد مفید می اشد امادربارة اینکه چگونه یک شئ COM کارمی کندوچطورآنرا ایجاد و گسترش میکنید توضیح نمی دهد.
تقریباً هر محصول مایکروسافت که امروز استفاده می شودیک مدل شی دارد که می تواند واسط آن با هر محصول دیگری برپایة COM ارتباط داشته باشد . به خاطر داشته باشید که فکر کردن روی یک واسط به عنوان ویژگی های اشیاء و عملکردی که می تواند داشته باشد تلقی می گردد.
یک واسط عمومی واسطی است که یک برنامه نویس که از شیء COM استفاده میکند آن را انتخابکرده تا به عنوان هر سرویسی که شما آرزوی آن را دارید دردسترس شما قرار دهد (حتی این می تواند از طریقWINDOWS NT کنترل شود ) معمولاً یک تابع برای انجام آنچه اتفاق می افتد
لازم میباشدمثلاً درVBتابعی بنام CREATE OBJECT وجود دارد که یک نمونه از کلاس مشخص شده را ایجاد ویک رجوع به شیءرا برمی گرداند وقتی که برنامهُ سرویس گیرنده با استفاده ازتابع REATE OBJECT یک CLASS می سازد (COM-SERVERNAME.CLASSNAME ) بااستفاده از یک اشاره گرمی تواند به تمام خواص متددهای آن کلاس که درسرویس دهندة COM است دسترسی پیدا کند .این سرویس دهنده می تواند یک تابع ساده DLL ویاکل برنامه کاربردی مثل INTERNET EXPLORER,WORD,EXCELیا OUTLOOK باشد.
اینجا یک مثالی است که ممکن است شما در یک برنامه کاربردی VB آنرا ببینید این تابع به منظور راه اندازی کردن یک برنامه روی چند کامپیوتر CLIENT-SERVER است.شما عملاً،عملکرد COMرا هنگامیکه داده ها از یک منبع داده با استفاده ازADO باز گردانده می شوند را دیده اید. مثال بعدنشان می دهد که چطور یک RECORDSET با محتوای جدولTBLUSERGROUP از پایگاه دادة SECURITY ایجاد می شود.
AS NEW ADODB.RECORDSET DIM OBJRECORDSET
- OPEN "TBLUSERGROUP”,DSN=”SECURITY;UID=SA;PWD;”
این مثال بسیارساده است. نیاز دیگری که باید وجود داشته باشد این است که ماشین سعی در ایجاد اشیایی کند که بتواند یک رجوع را به کلاس و سرویس دهنده در رجیستری آن پیدا کند . اگر این رجوع به یک DLL یا EXE که روی همان ماشین قرار گرفته ، به عنوان یک فراخوانی برنامه کاربردی ، اشاره کند، در این صورت COM می باشد ، اگر سرویس گیرنده روی ماشین خودش یک نماینده پیدا کند که ان به ماشین دیگری اشاره داشته باشد در این صورت یک COM توزیع شده یا DCOM خواهد بود . همانطور که ممکن است حدس بزنید آن چیزی اغلب در برنامه های کاربردی چند سطحی که می تواند روی سرویس دهندهای شبکه قرارگیرد و توسط سرویس گیرنده ها به اشتراک گذاشته شود DCOM می باشد.
فواید استفاده از DCOM چندین فایده مختلف در استفاده از DCOM در مقابل COM وجود دارد.
نگهداری: در روش DCOM یک شئ بر روی سرویس دهنده قرار می گیرد و هیچ سرویس گیرنده ای آن را به روز در نمی اورد. هر گونه تغییر و تحول در یک شئ که روی سرویس دهنده قرار دارد باعث می شود که این تغییرات بلا فاصله به تمامی سرویس گیرنده ها انتقال یابد.
2-مدل تک برنامه ای: از دید برنامه نویس تمام اشیاء COM یکسان است و احتیاج بکار اضافی برای تولید DCOM نیست. تنها مسئله سازماندهی ان می باشد. شما نیز می توانید در صورتی که از نظر هزینه مقرون به صرفه باشد اجزاء را به سرویس دهنده توزیع کنید تا سرویس دهی آن نیز اسانتر شود.
تابعیت انعطا ف در گسترش: اغلب اینطور به نظرمی رسد که اشیاء COM, UI-CENTRIC روی پردازش های سرویس گیرنده اجراء می شوند در حالیکه سرویس دهندهای DATA- CENTRIC روی شبکه اجراء می گردند حال اگر معماری سیستم تغییر کند به موجب آن DLLسمت سرویس گیرنده باید سرویس دهنده توزیع شود و کارهای خیلی کم باید انجام گیرد این مسئله تنها در سازماندهی می باشد و نیازی به تغییر در کد برنامه نیست .
4-سکوهای CROSS : DCOM توسط سکوهای زیر پشتیبانی می شود WINDOWS 4.0+ APPLE ACINTO, SH WINDOWS 95, SUN SOLARIS, AIX, MVS,SCO UNIXWARE, LINUX .
ارتباط پردازشهای CROSS در DCOM از میان شبکه توسط STUB ها و نماینده ها انجام میگیرد. هنگامیکه یک شئ COM روی یک سرویس گیرنده در خواست می شود ان رجیستری ماشین را برای وجود سرویس دهنده و کلاسها از طریق PROGID چک می کند. اگر سرویس دهنده به عنوان یک جزء COM سازماندهی شده باشد روتین COM باید یک شئ PROXY را روی سرویس گیرنده پیدا کند.
3-1 OLE :
یک تکنولوژی است که به برنامه ها اجازه همکاری با یکدیگر را می دهد ( برای مثال میتوانیم در درون برنامه WORD . از یک لیست EXEL استفاده کنید ، بدون انکه برنامه EXEL را باز کرده باشید انهم به صورت مستقیم ) . OLE تعدادی سرویس شامل عملیات کشیدن و رها کردن (DRAY-AND-DROP ) و اتوماسیون را ارائه می کند .
1-OPTION EXPLICIT
2-DIM MWORD . AS NEW WORD. APPLICATION
3-
4-PRIVATE SUB CMD WRITE- CLICK ( )
5-CMD WRITE. ENABLED= FALSE 6-CALL M WORD. DOCUMENTS.ADD
7-M WORD. SELECTION. SHADING. TEXTURE= WD TEX TURE22 PT5 PRECE
8-MWORD. SELECTION.FONT. SIZE=30
9-CALL MWORD . SELECTION. TYPETEXT (TXTINPUT.TEXT)
10-CALL MWORD .DOCUMENTS(1). SAVEAS(“D,\WORD.DOC”)
11-CALL MWORD. QUIT
12-END SUB
در خط 1 ما یک شئ به نامMWORD می سازیم . در دکمه CMD WRITE در خط 5 ما دکمه را خاموش می کنیم در خط 6 یک سند اضافه می کنیم . در خط 7 رنگ پس زمینه را تغییرمی دهیم با ثابت WD TEXTURE22 PT5 PRECENT . در خط9 مقداری را از TEXTBOX به نام TEXTINPUT گرفته به داخل DOCUMENT می ریزیم و در خط 10 DOCUMENرا ذخیره می کنیم.
4-1 ACTIVEX
کنترل های اکتیواکس اجرای قابل استفاده مجددای هستند که به برنامه های ویژوال بیسیک اضافه میشوند. یک کنترل اکتیواکس تقریبا هر کاری که برنامه نویس تصور کند میتواند انجام دهد، تقویم، پردازش لغت، ویرایشگر تصویر، بازی کارت وغیره…
کنترلهای اکتیواکس می توانند از دید کاربر مخفی باشند یا در دید کاربر قرار بگیرند. برای مثال کنترل اکتیواکس بازی کارت به طور مشخص بایستی در دید کاربر قرار داشته باشد. کنترلهای اکتیواکس تکامل تدریجی کنترلهای OLE هستند، برخی از کنترلها به مانند یک میزبان برای یک کنترل دیگر به کار می روند.
کنترل اکتیواکس ریشه در کنترلهای OLE و توسعه کنترلهای ویژوال بیسیک دارند. کنترلهای VBXقبل ازکنترلهای اکتیواکس ایجاد شده اند. کنترلهای OLEو VBX تکنولوژی سالهای پیش هستند. هزاران کنترل VBX در طی سالهای گذشته ایجاد شدهاند. تعدادی از این کنترلهای VBX مجددا توسط کنترلهای اکتیواکس باز نویسی شده اند . ازکنترلهای VBX نمی توان در ویژوال بیسیک 5 یا 6 استفاده کرد.
سه نوع متفاوت از کنترلهای اکتیواکس را می توان توسط ویژوال بیسیک ایجاد کرد. کنترلهای ایجاد شده توسط کاربر کنترلهای افزودنی و کنترلهای متراکم . ساخت و توسعه کنترلهای ایجاد شده توسط کاربربسیارمشکل است. این کنترلها انعطاف پذیری بیشتر درطراحی فراهم می اورند OLEDB.
OLEDB یک دستور کار با ذکر خصوصیاتی است که تعریف می کند چگونه دسترسی داده مایکروسافت کار می کند به طور خاص مشخصات OLEDB در زیر امده است:
1-OLEDBبه عنوان یک رابط برنامه نویسی در سطح سیستم موجود می باشد. این خصوصیت مشابه ODBC میباشد.
2 – در حالیکه ODBC برای دسترسی به پایگاه داده ای رابطه ای ایجاد شده بود، OLEDB برای دسترسی به هرذخیره دادهای طراحی گردیده است. برای مثال شما می توانید آنرا برای دسترسی به منابع رابطه ای یا غیر رابطه ای که شامل MAIN FRAME, ISAM/RSAM و پایگاه داده های سلسله مراتبی می باشند بکار ببرید. همچنین می توان به سیستمهای ذخیره فایلی که کمتر نستی هستند از قبیل سیستمهای پست الکترونیکی و سیستمهای فایل که داده های متنی و گرافیکی و غیره را ذخیره می کنند دسترسی داشته باشد.
3-OLEDB یک مجموعه ای از رابطهای COM را تعریف میکند که سرویسهای سیستم مدیریت پایگاه دادهای ختلف را کپسوله می کند.
5-1ADO
ADO یک مجموعه اشیاء COM می باشد که همانند مصرف کننده روی دادهOLEDB عمل می نماید. ADO رابطهای OLEDB سرویسهای مدیریت دسترسی به داده های دیگررا دیگر در سطح سیستم مدیریت می کند، در صورتیکه سطح کاربردی که از رابطهایOLEDB زبدست آمده اند را نمایش می دهد. ADO یک مدل برنامه نویسی پایگاه داده میباشد که به برنامه نویسان اجازه نوشتن برنامه های کاربردی روی داده های OLEDB به هر زبانی ازقبیل JAVA SCRIPT VB, JAVA,VBSCRIPT, وC/C++ را می دهد.هر شئ در یک هدف واحد و مجموعه خواص غیر پیچیده متدها و رخدادها را دارا می شود اگر چه این اشیاء پیچیده نمی باشند ولی بسیار قدرتمند هستند.
شکل 1-1 بر خلاف DAO,RDO ، ADO برای دسترسی به یک منبع داده وابسته به ODBC نیست.
از زمان انتشار انها در سال 1997 مدل ADO تغییرات زیادی نکرده است، اما با هر نسخه جدید مایکروسافت هر یک از اشیاء را به وسیله اضافه کردن متدها و خصوصیات جدید و به وسیله به وجود اوردن واسطه ها توانا تر وکارا تر نموده است.
شکل 2-1 مدل شئ ADO یک ساختار ساده و قدرتمند سلسله مراتب جهت دسترسی به داده می باشد
اینک نظری به مدل شئ ADO و هدف از هر شئ می پردازیم.همانطور که در شکل 2-1می بینید، مدل شئ بسیار ساده می باشد و فقط تعداد معدودی اشیاء اصلی وجود دارند. اشیاء در یک مجموعه شئ محض بصورت سلسله مراتبی پیاده سازی گردیده اند. بالاترین شئ CONNECTION است که شامل مجموعه ERRORS می باشد که هر یک شامل اشیاءERROR می گردند. همچنین CONNECTION شامل شئ COMMAND نیز می گردد که هر یک از آنها یک مجموعهP ARAMETER را که شامل اشیاء PA RAMETER می باشد دارا هستند.
همچنین شئ CONNECTION شامل FIELD اشیاء RECORDSET نیز می گردد که هریک از آنها یک مجموعه FIELDS در خود جای می دهند که شامل اشیاء می باشند.
مدل شئ ADO همچنین یک مجموعه از خصوصیات را که متعلق به اشیاء CONNECTION COMMAND, RECORDESTوFIELD می باشند شامل می گردد، خصوصیات مجموعه ها و خواص اشیاء در فصلهای بعد شرح داده می شوند.
ADO -2
1-2-شئ CONNECTION
شئ CONNECTION یک هدف اصلی دارد که عبارت است از اینکه توانایی برقراری ارتباط با یک منبع داده رابرای شما فراهم می سازد . یک شئ CONNECTION یک جلسه یکتا ( یک رابط OLEDB مشخص) را با یک منبع داده ارائه می نماید.توسط شئCONNECTION شما می توانید به منابع داده ساده از قبیل فایلها روی سرویس دهنده یا روی منابع بیشتری مانند سیستم RDBMS پیدا نمایید. شئ CONNECTION مجموعه ای عملکرد جزئی را به کمک تعداد کمی مجموعه ، خصوصیات و متدها پشتیبانی می کند. اکنون خواهید دیدشئ CONNECTION برای شما بعنوان یک برنامه نویس شامل مزایایی به شرح زیر می باشد :
به شما اجازه می ذهد که یک اتصال به یک منبع داده با متد OPEN برقرار نمایید.
برای منابع داده SQL که یک فراهم کننده OLEDB ندارد ارتباط ها می توانند با استفاده از فراهم کننده OLEDB - ODBC برای برقرار شوند. برای منابع داده SQL و غیر SQL که یک فراهم کننده OLEDBخاص را دارا می باشند نیز ارتباط میتواند با استفاده از فراهم کننده آن منبع داده برقرار گردد.
به شما اجازه اجرای عبارت یا رویه ذخیره شده SQL را با متد EXECUTE می دهد.
ـ به شما اجازه کار کردن روی تراکنشها را جهت بروز رسانی داده از طریق استفاده ازمتدهای تراکنش COMMIT, ROLLBACKTRANS, BEGINTRANS,TRANS میدهد.
در کد مثال زیر ، یک متد OPEN یک اتصال به پایگاه داده سرویس دهنده SQL از طریق یکODBC DSN را برقرار می نماید.
Sub ConnectionExample()
Dim objconn As ADODB.Connection
Set objconn = New ADOBDB.Connection
'’open a connection
“,” ” objconn.Open 'DSN="ADOBook","sa
'find out if the attempt to connect worked
If objconn.state = adstateopen Then
'connection succceded
Else
' connection failed_handle appropriately
End If
&nbs