برنامه هائئ که درزمینه 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 ایجاد می شود.