مكونات الوصول إلى البيانات من مايكروسوفت
مكونات الوصول إلى البيانات من مايكروسوفت ( MDAC ؛ والمعروفة أيضًا باسم Windows DAC ) هي إطار عمل يضم تقنيات مايكروسوفت المترابطة ، ويتيح للمبرمجين طريقة موحدة وشاملة لتطوير تطبيقات قادرة على الوصول إلى أي مخزن بيانات تقريبًا. تشمل مكوناتها: كائنات بيانات ActiveX (ADO)، و OLE DB ، و ODBC. وقد تم إيقاف دعم العديد من المكونات، مثل محرك قاعدة بيانات Jet ، وMSDASQL (موفر OLE DB لـ ODBC)، وخدمات البيانات عن بُعد (RDS). كما أصبحت بعض المكونات الأخرى قديمة ، مثل واجهة برمجة تطبيقات كائنات الوصول إلى البيانات السابقة وكائنات البيانات عن بُعد .
صدرت النسخة الأولى من MDAC في أغسطس 1996. في ذلك الوقت، صرّحت مايكروسوفت بأن MDAC كان أقرب إلى فكرة منه إلى برنامج مستقل، ولم يكن له طريقة توزيع واسعة الانتشار. لاحقًا، أصدرت مايكروسوفت تحديثات لـ MDAC كحزم قابلة لإعادة التوزيع عبر الإنترنت. وفي نهاية المطاف، دُمجت الإصدارات اللاحقة مع نظام التشغيل مايكروسوفت ويندوز ومتصفح إنترنت إكسبلورر ، وفي الإصدار MDAC 2.8 SP1، توقفت مايكروسوفت عن تقديم MDAC كحزمة قابلة لإعادة التوزيع.
على مرّ تاريخها، كانت MDAC عرضةً للعديد من الثغرات الأمنية ، مما أدى إلى هجمات مثل هجوم رفع مستوى الصلاحيات ، على الرغم من إصلاح هذه الثغرات بشكل عام في الإصدارات اللاحقة وبسرعة نسبية. الإصدار الحالي هو 2.8 حزمة الخدمة 1، ولكن المنتج مرّ بالعديد من الإصدارات المختلفة، وتمّ إيقاف دعم العديد من مكوناته واستبدالها بتقنيات مايكروسوفت الأحدث. تُعرف MDAC الآن باسم Windows DAC في نظام التشغيل Windows Vista .
بنيان
يتألف الإصدار الأخير من MDAC (2.8) من عدة مكونات متفاعلة، جميعها خاصة بنظام ويندوز باستثناء ODBC (المتوفر على عدة منصات). يمكن النظر إلى بنية MDAC على أنها ثلاث طبقات: طبقة واجهة برمجة التطبيقات، التي تتكون من ADO و ADO.NET ، وطبقة الوصول إلى قواعد البيانات التي طورتها شركات قواعد البيانات مثل أوراكل ومايكروسوفت ( OLE DB ، وموفرو .NET المُدارون، وبرامج تشغيل ODBC )، وقاعدة البيانات نفسها. تُتاح جميع طبقات المكونات هذه للتطبيقات من خلال واجهة برمجة تطبيقات MDAC . كما تتضمن MDAC مكتبة شبكة Microsoft SQL Server ، وهي طريقة وصول خاصة بـ Microsoft SQL Server. يُشجع مطورو تطبيقات ويندوز على استخدام ADO أو ADO.NET للوصول إلى البيانات، حيث تكمن الفائدة في أن مستخدمي البرنامج غير مقيدين في اختيار بنية قاعدة البيانات الخاصة بهم، باستثناء ضرورة دعمها من قِبل MDAC. وبطبيعة الحال، لا يزال بإمكان المطورين كتابة تطبيقات تصل مباشرةً إلى OLE DB وODBC.
مكتبة شبكة خادم SQL من مايكروسوفت
يستخدم خادم Microsoft SQL Server مكتبة الشبكة (المعروفة أيضًا باسم Net-Lib) لقراءة البيانات وكتابتها باستخدام العديد من بروتوكولات الشبكة المختلفة . على الرغم من أن Net-Lib خاصة بخادم SQL Server، إلا أن Microsoft تُضمّنها مع MDAC. يستخدم خادم SQL Server مكتبة خدمات البيانات المفتوحة (ODS) للتواصل مع Net-Lib، والتي تتفاعل مباشرةً مع نظام Win32 الفرعي لنظام التشغيل Windows NT . يتم التحكم في مكتبة شبكة خادم SQL Server من خلال أداة شبكة العميل، المرفقة مع خادم SQL Server.
لكل بروتوكول شبكة مدعوم من Net-Lib برنامج تشغيل خاص به (لا يُخلط بينه وبين برنامج تشغيل الجهاز )، ويدعم طبقة جلسة في حزمة بروتوكولاته. يوجد نوعان رئيسيان من Net-Lib: الأساسي والثانوي. يتكون Net-Lib الأساسي من مكتبة Super Socket Net-Lib ومكتبة Shared Memory Net-Lib، بينما توجد العديد من مكتبات Net-Lib الثانوية، بما في ذلك مكتبات شبكة TCP/IP ومكتبات الأنابيب المسماة (الأنابيب المسماة هي طريقة للتواصل مع العمليات الأخرى عبر مسار بيانات مستمر في النظام يُمنح هوية). يتواصل موفر Microsoft OLE DB لخادم SQL (SQLOLEDB) عبر مكتبات Net-Lib الأساسية.
تتولى مكتبة Super Socket Net-Lib مسؤولية الاتصالات بين أجهزة الكمبيوتر وتنسيق مكتبات الشبكة الثانوية ، باستثناء مكتبة TCP/IP الثانوية التي تستخدم واجهة برمجة تطبيقات Windows Sockets 2 مباشرةً. وقد تم حذف مكتبات Banyan VINES و AppleTalk و ServerNet و IPX/SPX و Giganet و RPC Net-Lib بدءًا من MDAC 2.5. كان موجه مكتبة الشبكة مسؤولاً عن إدارة جميع هذه البروتوكولات، ولكن الآن يدير الموجه فقط مكتبة Named Pipes الثانوية. كما تتولى مكتبة Super Socket Net-Lib تشفير البيانات باستخدام واجهة برمجة تطبيقات Windows SSL .
من ناحية أخرى، تدير مكتبة الذاكرة المشتركة (Shared Memory Net-Lib) الاتصالات بين عدة نسخ من خادم SQL Server الموجودة على جهاز كمبيوتر واحد. وتستخدم هذه المكتبة مساحة ذاكرة مشتركة للتواصل بين العمليات. وهذا آمن بطبيعته؛ إذ لا حاجة لتشفير البيانات بين نسخ خادم SQL Server الموجودة على جهاز كمبيوتر واحد، لأن نظام التشغيل لا يسمح لأي عملية أخرى بالوصول إلى مساحة الذاكرة المشتركة الخاصة بهذه النسخ.
يدعم Net-Lib أيضًا انتحال هوية المستخدم المسجل دخوله في سياق الأمان الخاص به، وذلك للبروتوكولات التي تدعم الاتصالات الموثقة (وتُسمى الاتصالات الموثوقة ). يتيح هذا لـ Net-Lib توفير آلية مصادقة تسجيل دخول متكاملة باستخدام مصادقة Windows . مع العلم أن مصادقة Windows غير مدعومة في نظامي التشغيل Windows 98 وWindows Me. [ 1 ]
OLE DB
تتيح تقنية OLE DB (المعروفة أيضًا باسم OLEDB أو OLE-DB) لتطبيقات MDAC الوصول إلى أنواع مختلفة من مخازن البيانات بطريقة موحدة. وقد استخدمت مايكروسوفت هذه التقنية لفصل التطبيق عن مخزن البيانات الذي يحتاج إلى الوصول إليه. ويعود ذلك إلى أن التطبيقات المختلفة تحتاج إلى الوصول إلى أنواع ومصادر بيانات مختلفة، ولا تحتاج بالضرورة إلى معرفة كيفية الوصول إلى وظائف تقنية محددة. وتنقسم هذه التقنية من الناحية المفاهيمية إلى مستهلكين ومزودين . المستهلكون هم التطبيقات التي تحتاج إلى الوصول إلى البيانات، أما المزود فهو مكون البرنامج الذي يوفر واجهة OLE DB باستخدام نموذج كائن المكون (COM).
تُعدّ OLE DB تقنية واجهة الوصول إلى قواعد البيانات التي يستخدمها MDAC. يمكن إنشاء موفري OLE DB للوصول إلى مخازن بيانات بسيطة، مثل ملفات النصوص أو جداول البيانات ، وصولًا إلى قواعد بيانات معقدة مثل Oracle و SQL Server . مع ذلك، ونظرًا لاختلاف إمكانيات تقنيات مخازن البيانات، قد لا يُطبّق موفرو OLE DB جميع الواجهات المتاحة. تُطبّق الإمكانيات المتاحة باستخدام كائنات COM ، حيث يقوم موفر OLE DB بربط وظائف تقنية مخزن البيانات بواجهة COM مُحددة. تُشير مايكروسوفت إلى أن توفر واجهة ما "خاص بموفرها"، إذ قد لا تكون قابلة للتطبيق اعتمادًا على تقنية قاعدة البيانات المُستخدمة. إضافةً إلى ذلك، يُمكن للموفرين أيضًا تعزيز إمكانيات مخزن البيانات؛ وتُعرف هذه الإمكانيات بالخدمات في مصطلحات مايكروسوفت.
موفر OLE DB من مايكروسوفت لـ SQL Server (SQLOLEDB) هو موفر OLE DB الذي توفره مايكروسوفت لـ Microsoft SQL Server من الإصدار 6.5 فصاعدًا.
وصلة البيانات العالمية
توفر ملفات ربط البيانات العالمية (أو ملفات .udl) واجهة مستخدم موحدة لتحديد خصائص الاتصال. يمكن للمستخدم استخدام مربع حوار خصائص ربط البيانات لحفظ معلومات الاتصال في ملف .udl كبديل لتحديدها يدويًا في سلسلة الاتصال. وبالتالي، توفر هذه الملفات مستوىً مناسبًا من التوجيه غير المباشر . بالإضافة إلى ذلك، يحدد مربع الحوار عددًا من موفري بيانات OLE DB البديلين لمجموعة متنوعة من التطبيقات المستهدفة. [ 2 ]
ODBC
تُعدّ تقنية الاتصال المفتوح بقواعد البيانات (ODBC) واجهةً أصليةً يتم الوصول إليها عبر لغة برمجة (عادةً C ) تُتيح استدعاء مكتبة أصلية . في MDAC، تُعرَّف هذه الواجهة كملف DLL. يلزم وجود وحدة أو برنامج تشغيل منفصل لكل قاعدة بيانات يتم الوصول إليها. تُنفَّذ وظائف واجهة برمجة تطبيقات ODBC بواسطة برامج التشغيل الخاصة بأنظمة إدارة قواعد البيانات. يُطلق على برنامج التشغيل الذي تُوفّره مايكروسوفت في MDAC اسم برنامج تشغيل SQL Server ODBC (SQLODBC)، وهو (كما يوحي الاسم) مُصمَّم لخادم SQL Server من مايكروسوفت. يدعم هذا البرنامج SQL Server الإصدار 6.5 والإصدارات الأحدث. [ 3 ] تُتيح تقنية ODBC للبرامج استخدام طلبات SQL للوصول إلى قواعد البيانات دون الحاجة إلى معرفة واجهاتها الخاصة. يتولى برنامج التشغيل معالجة طلب SQL وتحويله إلى طلب يفهمه نظام قاعدة البيانات. وفقًا لمايكروسوفت، "بعد SQL Server 2012، سيتم تحديث برنامج تشغيل ODBC ليتوافق مع أحدث ميزات الخادم، بما في ذلك قاعدة بيانات Microsoft Windows Azure SQL، وسيُصدر باسم برنامج تشغيل Microsoft ODBC لـ SQL Server." [ 3 ]
أدو
كائنات بيانات ActiveX ( ADO ) هي واجهة برمجة عالية المستوى لـ OLE DB. تستخدم نموذج كائنات هرميًا لتمكين التطبيقات من إنشاء البيانات واسترجاعها وتحديثها وحذفها برمجيًا من مصادر يدعمها OLE DB. تتكون ADO من سلسلة من الكائنات والمجموعات الهرمية القائمة على COM، حيث يعمل كل كائن كحاوية للعديد من الكائنات الأخرى. يمكن للمبرمج الوصول مباشرةً إلى كائنات ADO لمعالجة البيانات، أو إرسال استعلام SQL إلى قاعدة البيانات عبر آليات ADO المتعددة. تتكون ADO من تسعة كائنات وأربع مجموعات .
المجموعات هي:
- الحقول: تحتوي هذه المجموعة على مجموعة من كائنات الحقول. يمكن استخدام هذه المجموعة إما في كائن Recordset أو في كائن Record. في كائن Recordset، يتوافق كل كائن حقل من كائنات مجموعة الحقول مع عمود في ذلك الكائن. أما في كائن Record، فيمكن أن يكون الحقل عنوان URL مطلقًا أو نسبيًا يشير إلى مساحة اسم ذات بنية شجرية (تُستخدم لموفري البيانات شبه المهيكلة مثل موفر Microsoft OLE DB للنشر عبر الإنترنت) أو كمرجع لكائن Stream الافتراضي المرتبط بذلك الكائن Record. [ 4 ]
- الخصائص: يمكن أن يحتوي الكائن على أكثر من كائن خاصية واحد، والتي يتم تضمينها في مجموعة خصائص الكائن. [ 5 ]
- المعلمات: يمكن أن يحتوي كائن الأمر على عدة أوامر معلمات لتغيير سلوكه المحدد مسبقًا، ويتم تضمين كل كائن من كائنات المعلمات في مجموعة المعلمات الخاصة بكائن الأمر [ 6 ].
- الأخطاء: تُمرَّر جميع الأخطاء التي يُنشئها المزوّد إلى مجموعة من كائنات الأخطاء، بينما تُخزَّن مجموعة الأخطاء نفسها في كائن اتصال. عندما تُنشئ عملية ADO خطأً، تُفرَّغ المجموعة وتُنشأ مجموعة جديدة من كائنات الأخطاء فيها. [ 7 ]
الأشياء هي:
- الاتصال: كائن الاتصال هو اتصال ADO بمخزن البيانات عبر OLE DB. يخزن كائن الاتصال معلومات حول الجلسة ويوفر طرقًا للاتصال بمخزن البيانات. نظرًا لاختلاف طرق إنشاء الاتصال بين مخازن البيانات، قد لا يدعم كائن الاتصال بعض الطرق لموفري OLE DB محددين. يتصل كائن الاتصال بمخزن البيانات باستخدام دالة "Open" الخاصة به مع سلسلة اتصال تحدد الاتصال كقائمة من أزواج المفاتيح والقيم (على سبيل المثال: "
Provider='SQLOLEDB';Data Source='TheSqlServer'; Initial Catalog='Northwind';Integrated Security='SSPI';"). [ 8 ] يجب أن يحدد الجزء الأول من السلسلة نوع اتصال مخزن البيانات الذي يتطلبه كائن الاتصال. يجب أن يكون هذا إما: - الأمر: بعد أن يُنشئ كائن الاتصال جلسة مع مصدر البيانات، تُرسل التعليمات إلى موفر البيانات عبر كائن الأمر. يستطيع كائن الأمر إرسال استعلامات SQL مباشرةً إلى الموفر باستخدام خاصية CommandText ، أو إرسال استعلام مُعَلم أو إجراء مُخزن باستخدام كائن Parameter أو مجموعة Parameters ، أو تشغيل استعلام وإرجاع النتائج إلى كائن مجموعة البيانات عبر دالة Execute . توجد عدة دوال أخرى يمكن استخدامها في كائن الأمر، وتتعلق بكائنات أخرى، مثل كائنات Stream وRecordSet وConnection. [ 10 ]
- مجموعة السجلات: هي مجموعة من السجلات ، ويمكن أن تكون مستمدة من جدول أساسي أو نتيجة استعلام عنه. يحتوي كائن مجموعة السجلات على مجموعتي الحقول والخصائص . [ 11 ] مجموعة الحقول هي مجموعة من كائنات الحقول، وهي الأعمدة المقابلة في الجدول. أما مجموعة الخصائص فهي مجموعة من كائنات الخصائص، التي تحدد وظيفة معينة لموفر OLE DB. تحتوي مجموعة السجلات على العديد من الطرق والخصائص لفحص البيانات الموجودة بداخلها. [ 12 ] يمكن تحديث السجلات في مجموعة السجلات بتغيير قيم السجل ثم استدعاء طريقة
UpdateالتحديثUpdateBatch. تتم إضافة سجلات جديدة من خلالAddNewالدالة ثم باستدعاء طريقةUpdateالحذفUpdateBatch. [ 13 ] كما يمكن حذف السجلات من مجموعة السجلات باستخدام طريقة الحذف ثم باستدعاء طريقة التحديث. مع ذلك، إذا تعذر الحذف لسبب ما، مثل وجود انتهاكات في التكامل المرجعي ، فستبقى مجموعة السجلات في وضع التحرير بعد استدعاءUpdateطريقة الحذف. يجب على المبرمج استدعاء الدالة صراحةًCancelUpdateلإلغاء التحديث. بالإضافة إلى ذلك، يمكن لـ ADO التراجع عن المعاملات (إذا كان ذلك مدعومًا) وإلغاء تحديثات الدفعات. [ 14 ] كما يمكن تحديث مجموعات السجلات بإحدى ثلاث طرق: عبر تحديث فوري، أو عبر تحديث دفعة، [ 15 ] أو من خلال استخدام المعاملات.- فوري: يتم قفل مجموعة السجلات باستخدام القفل
adLockOptimistic.adLockPessimisticيتم تحديث البيانات في مصدر البيانات بعد تغيير السجل واستدعاء الدالةUpdate. - المعالجة الدفعية: يتم قفل مجموعة السجلات باستخدام `batch`
adLockBatchOptimistic، وفي كل مرةUpdateيتم استدعاء `batch`، يتم تحديث البيانات في مخزن مؤقت. وأخيرًا، عندUpdateBatchاستدعاء `batch`، يتم تحديث البيانات بالكامل في مصدر البيانات. تتميز هذه الطريقة بميزة تنفيذ كل شيء في الذاكرة، وفي حال حدوث مشكلة،UpdateCancelيتم استدعاء `batch`، ولا يتم إرسال التحديثات إلى مصدر البيانات. - المعاملة: إذا سمح موفر OLE DB بذلك، يمكن استخدام المعاملات . لبدء المعاملة، يستدعي المبرمج
BeginTransالدالة ويُجري التحديثات المطلوبة. عند الانتهاء، يستدعي المبرمجCommitTransالدالة.RollbackTransيمكن استدعاء هذه الدالة لإلغاء أي تغييرات أُجريت داخل المعاملة وإعادة قاعدة البيانات إلى حالتها قبل بدء المعاملة [ 16 ].
- فوري: يتم قفل مجموعة السجلات باستخدام القفل
- السجل: يمثل هذا الكائن سجلاً واحداً في قاعدة البيانات، ويحتوي على مجموعة من الحقول. تتكون مجموعة السجلات من مجموعة من كائنات السجلات. [ 17 ]
- التدفق: يُستخدم التدفق، بشكل أساسي في كائن RecordSet، كوسيلة لقراءة وكتابة سلسلة من البايتات. [ 18 ] ويُستخدم في الغالب لحفظ مجموعة سجلات بتنسيق XML، [ 19 ] ولإرسال الأوامر إلى موفر OLE DB كبديل لكائن CommandText، ولاحتواء محتويات ملف ثنائي أو نصي.
- المعلمة: المعلمة هي وسيلة لتغيير سلوك جزء مشترك من الوظائف، على سبيل المثال، قد يتم تمرير معلمات مختلفة إلى إجراء مخزن اعتمادًا على ما يجب القيام به؛ وتسمى هذه الأوامر المعلمة . [ 20 ]
- الحقل: يحتوي كل كائن سجل على العديد من الحقول، ويحتوي كائن مجموعة السجلات أيضًا على كائن حقل مطابق. يتوافق كائن الحقل الخاص بكائن مجموعة السجلات مع عمود في جدول قاعدة البيانات الذي يشير إليه. [ 21 ]
- الخاصية: هذا الكائن خاص بمزود OLE DB ويحدد قدرةً قام المزود بتنفيذها. يمكن أن تكون خاصية الكائن إما خاصيةً مضمنة - وهي خاصية محددة جيدًا ومنفذة بواسطة ADO مسبقًا، وبالتالي لا يمكن تغييرها - أو خاصيةً ديناميكية - يتم تعريفها بواسطة مزود البيانات الأساسي ويمكن تغييرها [ 22 ].
- خطأ: عند حدوث خطأ في موفر OLE DB أثناء استخدام ADO، سيتم إنشاء كائن خطأ في مجموعة الأخطاء. [ 23 ] أما الأخطاء الأخرى فلا تُخزَّن في كائن خطأ. على سبيل المثال، أي أخطاء تحدث عند معالجة البيانات في كائن RecordSet أو Field تُخزَّن في خاصية الحالة. [ 24 ] [ 25 ]
ADO.NET
ADO.NET هو أحدث إصدار من ADO (بعد ADO 2.8، والذي يُشار إليه الآن غالبًا باسم ADO Classic)، وهو جزء من حزمة MDAC 2.8 إلى جانب ADO Classic. وهو مبني على منصة Microsoft .NET . وعلى الرغم من أنه يُنظر إليه أحيانًا على أنه تطور تدريجي عن ADO، إلا أن Microsoft أدخلت عليه بعض التغييرات الهيكلية الأساسية. يعمل ADO.NET من خلال موفر .NET المُدار، وهو نسخة مُعدلة من موفر OLE DB مُصمم خصيصًا لـ .NET. لم يعد هيكل الكائنات مبنيًا حول كائن Recordset، بل يُستخدم كائن Dataset لاحتواء البيانات المُجمعة من مصادر متعددة، وهذا الأمر غير مرئي للمبرمج. وعلى عكس Recordset القديم في ADO، يُشجع تصميم Dataset على استخدام البيانات غير المتصلة. من الناحية النظرية، يُمكن اعتبار كائن Dataset قاعدة بيانات علائقية صغيرة في الذاكرة بحد ذاتها، تسمح بمعالجة البيانات في أي اتجاه. ولنقل التغييرات إلى قاعدة البيانات، يُستخدم كائن DataAdapter الذي ينقل البيانات بين مصدر البيانات وكائن DataSet. تم أيضًا إيقاف استخدام المؤشرات في ADO.NET، واستُبدلت بكائن DataReader ، الذي يُستخدم لمعالجة قائمة كبيرة من النتائج بكفاءة، سجلًا تلو الآخر، دون تخزينها. [ 26 ]
المكونات المهملة والقديمة
يُعدّ MDAC إطار عمل للمكونات يتطور باستمرار. ولذلك، فقد كانت هناك العديد من المكونات التي كانت جزءًا منه سابقًا، ولكن تم إيقاف دعمها أو إزالتها بالكامل من إطار العمل.
محرك قاعدة بيانات جيت وJRO
يرمز Jet إلى تقنية المحرك المشترك ، وكان محرك قواعد بيانات يُستخدم في Microsoft Access و Microsoft Exchange Server و Visual Basic . كان Jet جزءًا من نظام إدارة قواعد البيانات العلائقية (RDBMS)، ووفر واجهة موحدة تُمكّن البرامج الأخرى من الوصول إلى قواعد بيانات Microsoft. كما دعم Jet الأمان، وسلامة البيانات المرجعية ، ومعالجة المعاملات ، والفهرسة ، وقفل السجلات والصفحات، وتكرار البيانات. في الإصدارات اللاحقة من Jet، تم توسيع المحرك لتشغيل استعلامات SQL ، وتخزين البيانات النصية بتنسيق Unicode ، وإنشاء طرق عرض ، والسماح بالتكرار ثنائي الاتجاه مع Microsoft SQL Server. وقد تم استبداله بـ MSDE، الذي تم استبداله بدوره بـ SQL Server Express .
كان Jet يتألف من ثلاثة وحدات. الأولى هي برنامج تشغيل Jet ISAM الأصلي ، وهي مكتبة ارتباط ديناميكي (DLL) خاصة بـ Jet، تُتيح التعامل المباشر مع ملفات قواعد بيانات Microsoft Access (MDB)، وهي نسخة مُعدّلة من قاعدة بيانات ISAM ( طريقة الوصول التسلسلي المفهرس ). أما الوحدة الثانية فهي برامج تشغيل ISAM ، وهي مكتبات DLL تُتيح الوصول إلى قواعد بيانات ISAM، ومنها ملفات Xbase و Paradox و Btrieve و FoxPro . أما الوحدة الأخيرة فهي مكتبة كائنات الوصول إلى البيانات (DAO) ، التي تُتيح للمبرمجين الوصول إلى محرك Jet. وهي في الأساس لغة بيانات كائنية التوجه، يستخدمها مطورو تطبيقات Access Basic و Visual Basic للوصول إلى Jet.
وبالمثل، تمت إزالة موفر Microsoft Jet OLE DB وكائنات النسخ المتماثل (JRO) التي سمحت بالنسخ المتماثل بين مصادر بيانات Jet من MDAC 2.6 [ 27 ].
MSDASQL و Oracle ODBC
كان موفر OLE DB من مايكروسوفت لـ ODBC، أو MSDASQLMSDASQL، موفر OLE DB يسمح لكائنات بيانات ActiveX بالوصول إلى قواعد البيانات عبر أي برنامج تشغيل ODBC. وقد وفرت مايكروسوفت العديد من موفري OLE DB (لخدمة الفهرسة، و Active Directory ، وJet، وSQL Server، وOracle MSDAORA[ 28 ] ، والنشر عبر الإنترنت)، ولكن ما لم يُنص على خلاف ذلك، كان ADO يستخدم MSDASQL كموفر افتراضي. بعد MDAC 2.5، دعم كل من برنامج تشغيل Oracle ODBC وMSDASQL إصدار Oracle 7، ودعما إصدار Oracle 8i جزئيًا. أما الميزات غير المدعومة فكانت:
- أنواع بيانات أوراكل CLOB و BLOB و BFILE و NCHAR و NCLOB و NVARCHAR2
- دعم Unicode لإصداري Oracle 7.x و 8i
- عدة نسخ عميل من أوراكل
- وصلات خارجية متداخلة
قامت مايكروسوفت في البداية بإيقاف دعم مكون MSDASQL لأنظمة التشغيل 64 بت الخاصة بها [ 29 ] وتم استبدال برنامج تشغيل Microsoft Oracle ODBC لاحقًا بموفر Oracle المُدار .NET، والذي يدعم Oracle 9i. [ 30 ] ومع ذلك، يأتي Windows Server 2008 و Windows Vista SP1 مزودين بإصدار 64 بت من MSDASQL.
خدمات البيانات عن بعد (RDS)
أتاحت خدمات البيانات عن بُعد (RDS) استرجاع مجموعة من البيانات من الخادم، حيث يقوم العميل بتعديلها ثم إرسالها مرة أخرى إلى الخادم لمزيد من المعالجة. [ 31 ] مع الانتشار الواسع للغة Transact-SQL ، التي تُوسّع لغة SQL ببنى برمجية مثل الحلقات والعبارات الشرطية، أصبحت هذه الخدمة أقل ضرورة، وتم إيقافها نهائيًا في MDAC 2.7. أصدرت مايكروسوفت SOAP Toolkit 2.0، التي تُمكّن العملاء من القيام بذلك عبر معيار مفتوح قائم على XML . [ 3 ]
SQLXML
صُممت لغة SQLXML لخادم SQL Server 2000، ولكن تم إيقاف دعمها مع إصدار MDAC 2.6. كانت هذه اللغة تسمح بعرض قواعد بيانات مايكروسوفت العلائقية باستخدام XPath ، كما كانت تسمح بعرض البيانات كملف XML . لم يتم إيقاف دعمها رسميًا، ولكن تمت إزالتها من الإصدارات اللاحقة من MDAC، مع ذلك، توفرها مايكروسوفت كمكون قابل للتنزيل وستدعمها على أنظمة التشغيل 64 بت الخاصة بها.
المكونات القديمة
قامت مايكروسوفت بإزالة العديد من المكونات بالكامل من MDAC ولم تعد تدعمها. وهي:
- ESQL/C: لغة SQL المضمنة (المعروفة أيضًا باسم E-SQL أو ESQL/C) هي طريقة لاستخدام SQL عند البرمجة في Visual C. وقد أوقفت مايكروسوفت دعمها لهذا بعد إصدار SQL Server 6.5، على الرغم من أنها رخصت بعض بيئة تشغيل ESQL/C لشركة تسمى Micro Focus ، والتي تقوم بتطوير مترجمات وأدوات COBOL [ 32 ].
- DAO: كانت DAO، أو كائنات الوصول إلى البيانات، واجهة كائنية التوجه أنشأتها مايكروسوفت، والتي سمحت للإصدارات الأولى من مايكروسوفت أكسس وفيجوال بيسك بالوصول إلى محرك قاعدة بيانات جيت . لاحقًا (في الإصدار 3.5)، أصبح بالإمكان تجاوز محرك جيت تمامًا والوصول مباشرةً إلى مصادر بيانات ODBC . [ 33 ]
- RDO: كانت تقنية RDO (كائنات البيانات البعيدة) تقنية من مايكروسوفت تسمح بإنشاء واجهات تستدعي ODBC مباشرةً. وكان الإصدار 2.0 من RDO هو الإصدار الأخير الذي طورته مايكروسوفت.
- مكتبة قواعد البيانات: واجهة برمجة تطبيقات (API) مبنية على لغة C، تسمح للتطبيقات بالتفاعل مع خادم SQL. لن يتم دعمها في أي منتج بعد SQL Server 2000، ولم تُضَف أي ميزات جديدة إليها بعد SQL Server 6.5.
تاريخ
أصدرت مايكروسوفت عدة إصدارات من MDAC على مر الزمن. وقد اختلفت طريقة التوزيع، كما اختلفت مجموعة الميزات في كل إصدار.
MDAC 1.0
صدرت النسخة الأولى من MDAC 1.0 في أغسطس 1996. [ 34 ] ووفقًا لمايكروسوفت، "كانت MDAC 1.0 أقرب إلى كونها فكرة منها برنامج إعداد متكامل ومستقل". تألفت حزمة MDAC 1.0 من ODBC 3.0 وOLE DB 1.1 وADO 1.0 وموصل البيانات المتقدم (ADC) 1.0 ، والذي كان، بحسب مايكروسوفت، بمثابة مقدمة لخدمة البيانات عن بُعد في MDAC 1.5. كما تضمنت برامج تشغيل ODBC لقواعد بيانات Access/Jet وSQL Server و Oracle . تم إصدار MDAC 1.0 عبر عدة آليات: تم شحن موصل البيانات المتقدم مع خادم معلومات الإنترنت (IIS) 3.0، كما تم توفيره كملف cab قابل للتنزيل؛ بينما تم شحن OLE DB 1.1 وADO 1.0 مع حزمة تطوير البرامج ( SDK) الخاصة بـ OLE DB 1.1، والتي كانت تأتي مع Visual Studio 97، وكانت متاحة للتنزيل أيضًا. [ 35 ] جاء MDAC 1.0 مع صفحات الخادم النشطة، والتي جاءت بدورها في IIS 3.0، وجاءت أيضًا مع Visual InterDev 1.0. [ 34 ]
MDAC 1.5
صدرت MDAC 1.5 بين سبتمبر 1997 ومارس 1998، واعتمدت آلية توزيع أكثر مركزية من MDAC 1.0. وقد صدرت مع متصفح مايكروسوفت إنترنت إكسبلورر 4.0، وحزمة تطوير برامج عميل الإنترنت 4.0، وعبر قرص مضغوط تم توزيعه في مؤتمر المطورين المحترفين (PDC) عام 1997. وصدرت خمس نسخ من MDAC 1.5.
- MDAC 1.5 (الإصدار الأولي): مضمن مع Internet Explorer 4.0 و Internet Client SDK.
- MDAC 1.5a: يمكن تنزيله من موقع مايكروسوفت الإلكتروني
- MDAC 1.5b: يأتي مع حزمة خيارات Windows NT 4.0 و Office 97
- MDAC 1.5c: تم إصلاح مشاكل تعدد الخيوط في ADO وتجميع اتصالات ODBC، وتم توزيعه عبر موقع مايكروسوفت الإلكتروني. وقد تضمن فقط مكونات وقت تشغيل ADO/MDAC.
- MDAC 1.5d: جاء مضمنًا مع نظام التشغيل Windows 98 وحزمة الخدمة 1 لمتصفح Internet Explorer 4.01. [ 34 ]
تضمنت الإصدارات المختلفة من MDAC 1.5 ما يلي:
- ODBC 3.5
- OLE DB 1.5
- ADO 1.5
- خدمة البيانات عن بعد 1.5، التي حلت محل موصل البيانات المتقدم. [ 35 ]
احتوت هذه النسخة من MDAC على ثغرة أمنية جعلتها عرضة لهجوم رفع الصلاحيات . تسببت هذه الثغرة في منح مستخدم ويب غير مصرح له القدرة على تنفيذ أوامر shell على نظام IIS بصلاحيات مستخدم ذي صلاحيات، وذلك في الأنظمة التي تم تثبيت كل من IIS وMDAC عليها. سمح هذا للمهاجم باستخدام MDAC لتوجيه طلبات بيانات SQL وODBC الأخرى عبر الاتصال العام إلى شبكة خلفية خاصة عند استخدام نظام IIS متعدد المنافذ متصل بالإنترنت. كما سمح للمستخدم بالوصول غير المصرح به إلى ملفات محمية وغير منشورة على نظام IIS [ 36 ].
كان MDAC 1.5 آخر إصدار لمكون الوصول إلى البيانات مدعومًا في نظام التشغيل Windows NT 3.51 SP5.
MDAC 2.0
تم توزيع MDAC 2.0 مع حزمة تطوير البرامج (SDK) الخاصة بالوصول إلى البيانات 2.0، وشمل محتويات MDAC 1.5، وحزمة تطوير البرامج (SDK) الخاصة بـ ODBC 3.5، وحزمة تطوير البرامج (SDK) الخاصة بـ OLE DB 1.5، بالإضافة إلى مواصفات OLE DB لـ OLAP . كما تضمن العديد من التحديثات للمنتج الأساسي، [ 35 ] بما في ذلك ميزة أمان أُضيفت إلى RDS لمنع استخدامه بشكل ضار على خادم IIS. [ 37 ] [ 38 ] [ 39 ] وقد تم تضمين هذا الإصدار في نظام التشغيل Windows NT 4.0 SP4، [ 34 ] وكذلك مع Visual Studio 6.0، الذي كان مزودًا بحزمة تطوير البرامج (SDK) الكاملة الخاصة بالوصول إلى البيانات. [ 35 ]
MDAC 2.1
تم توزيع MDAC 2.1 مع SQL Server 7.0 وSQL Server 6.5 SP5. وتم توزيع MDAC 2.1 SP1 مع Internet Explorer 5، بينما تم توزيع MDAC 2.1 SP1a (الإصدار العام) مع Microsoft Office 2000 و BackOffice 4.5 وVisual Studio 98 SP3. مع ذلك، لم يتم طرح أي من هذه الإصدارات من MDAC للجمهور عبر الإنترنت . أما MDAC 2.1 SP2 فقد تم توزيعه من موقع Microsoft الإلكتروني. وتضمنت مكونات الإصدار 2.1 ما يلي:
- ADO 2.1
- RDS 2.1
- OLE DB 2.1
- موفر OLE DB لـ ODBC و SQL Server و Oracle
- JRO 2.1
- سائق طائرة نفاثة
- RDO. [ 34 ]
احتوت هذه النسخة على ثغرات أمنية تسمح بهجوم بصلاحيات موسعة عبر مخزن مؤقت غير مُراقب. وقد تم اكتشاف هذه الثغرة لاحقًا، وأثرت على إصدارات MDAC 2.1 و2.5 و2.6، وتمت معالجتها في تحديث لاحق [ 40 ] [ 41 ].
MDAC 2.5
تم إصدار MDAC 2.5 في 17 فبراير 2000، وتم توزيعه مع نظام التشغيل Windows 2000 ، كما تم إصدار حزم خدمة MDAC بالتزامن مع حزم خدمة Windows 2000. وتم توزيعها أيضًا عبر موقع مايكروسوفت الإلكتروني. صدرت ثلاث حزم خدمة. المكونات المضمنة في الإصدار 2.5 هي:
- ADO 2.5
- ADO MD 2.5
- أدوكس 2.5
- RDS 2.5
- OLE DB 2.5
- العديد من مزودي OLE DB
- JRO 2.5
- ODBC 3.51
- العديد من برامج تشغيل ODBC
- العديد من سائقي الطائرات النفاثة. [ 34 ]
تم اكتشاف عدة مشكلات في هذا الإصدار من MDAC. عند استخدام تجميع جلسات OLE DB، كان Microsoft COM+ يحاول تحميل وتفريغ OLE DB باستمرار، مما قد يؤدي إلى تعارض يتسبب في تشغيل تجميع جلسات OLE DB باستهلاك 100% من وحدة المعالجة المركزية. تم إصلاح هذه المشكلة لاحقًا. [ 42 ] نشرت Microsoft قائمة كاملة بالأخطاء التي تم إصلاحها في MDAC 2.5 Service Pack 2 وMDAC 2.5 Service Pack 3. [ 43 ] [ 44 ] كما وُجدت ثغرة أمنية (تم إصلاحها لاحقًا) تتمثل في وجود مخزن مؤقت غير مُدقَّق في برنامج تشغيل SQL Server. ظهرت هذه الثغرة في MDAC 2.5 SP2.
MDAC 2.6
تم إصدار MDAC 2.6 في سبتمبر 2000 وتم توزيعه عبر الإنترنت ومع Microsoft SQL Server 2000 [ 45 ] تم توزيع MDAC 2.6 RTM وSP1 (الذي صدر في 20 يونيو 2001) وSP2 (الذي صدر في 11 يونيو 2002) بالتوازي مع حزم خدمة Microsoft SQL Server 2000، ويمكن أيضًا تنزيلها من موقع Microsoft الإلكتروني.
ابتداءً من هذا الإصدار من MDAC، لم يتم تضمين Microsoft Jet، وMicrosoft Jet OLE DB Provider، وبرامج تشغيل قاعدة بيانات ODBC Desktop. وبدلاً من ذلك، كان بالإمكان تثبيتها يدويًا. [ 46 ] كما أصدرت مايكروسوفت تنبيهًا تحذيريًا يفيد بأنه لا ينبغي تثبيت MDAC 2.6 على مجموعة خوادم SQL Server 7.0، لأنه "إذا قمت بتثبيت MDAC 2.6 أو إصدار أحدث على أي عقدة في المجموعة، سواءً بشكل مباشر أو من خلال تثبيت برنامج آخر، فقد يتسبب ذلك في عطل كارثي لوكيل SQL Server أو خدمات SQL Server الأخرى." [ 47 ] وقد أثرت هذه المشكلة على برنامج Backup Exec 9.0 من Veritas Software لخوادم Windows، لأنه يقوم بتثبيت Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) كقاعدة بيانات. وقد تم تثبيت الإصدار 4367 من MDAC الإصدار 2.6 SP2، بينما تم تثبيت الإصدار 4454 من MDAC الإصدار 2.7 SP1، والذي لم يكن يعاني من هذه المشكلة. [ 48 ]
MDAC 2.7
تم إصدار برنامج MDAC 2.7 في أكتوبر 2001 عبر موقع مايكروسوفت الإلكتروني. وصدرت نسخة محدثة منه في أبريل 2002 مع إصدار نظام التشغيل ويندوز إكس بي وعبر موقع مايكروسوفت الإلكتروني أيضًا. كان الإصدار 2.7 متوفرًا باللغات الإنجليزية الأمريكية ، والصينية (التقليدية والمبسطة)، والألمانية، واليابانية، والكورية، والبرتغالية البرازيلية ، والتشيكية ، والدنماركية، واليونانية، والسلوفاكية ، والسلوفينية ، والإسبانية، والفنلندية، والفرنسية، والمجرية، والإيطالية، والهولندية، والنرويجية ، والبولندية، والبرتغالية، والروسية، والسويدية، والتركية . أما اللغتان العبرية والعربية فكانتا متاحتين فقط مع نظام التشغيل ويندوز إكس بي.
كان التغيير الرئيسي في الميزات هو دعم نظام التشغيل 64 بت من مايكروسوفت ، إلا أنه تم أيضًا إسقاط دعم Banyan VINES من هذا الإصدار من MDAC. وقد وُجدت عدة مشكلات معروفة: [ 49 ] استمر MDAC 2.7 في التسبب بمشكلات اتصال على الخوادم المجمعة التي تعمل بنظامي Microsoft SQL Server 6.5 أو SQL Server 7.0، دون أن تقدم مايكروسوفت أي حل بديل. عند إنشاء أو تكوين أسماء مصادر بيانات ODBC (DSNs) باستخدام برنامج تشغيل ODBC الخاص بـ Microsoft SQL Server، قد يتحول بروتوكول مكتبة الشبكة بشكل غير متوقع إلى TCP/IP ، حتى لو تم تكوين DSN لاستخدام الأنابيب المسماة . [ 50 ] اكتشف هذه المشكلة راندال سي. كينيدي ، مراسل InfoWorld ، الذي حدد أن التغيير قد تم بالفعل في MDAC 2.6 ولكنه لم يُوثق. وقد تم اكتشافه أثناء اختبار أحمال عمل قاعدة بيانات العميل/الخادم على جهاز كمبيوتر يعمل بنظام Windows XP. تزعم مجلة InfoWorld أنه على الرغم من ارتفاع استخدام وحدة المعالجة المركزية للخادم بنسبة 8% فقط عند استخدام بروتوكول TCP/IP، إلا أن عدد مرات تبديل السياق في الثانية انخفض بأكثر من 150% (وهو أمر مستحيل بالطبع، لأنه سيؤدي إلى معدل تبديل سياق سلبي - حيث يتراوح الانخفاض بين 33% و60% حسب وجهة نظر كاتب المقال) في بيئة عمل تضم 10 مستخدمين. وقد أعربوا عن استيائهم من حدوث تغيير وظيفي جوهري في السلوك الافتراضي لمكتبة Net-Lib دون أي إشارة تُذكر في وثيقة أخرى. [ 51 ] كما واجه مستخدمو نظام التشغيل Windows XP أحيانًا مشاكل في الاتصال بخادم SQL، لأن خادم SQL يحاول استخدام الشهادات الموجودة على جهاز الكمبيوتر المحلي، ولكن في حال وجود أكثر من شهادة، فإنه لا يعرف أيها يستخدم. [ 52 ] عند محاولة استخدام Microsoft Analysis Services 2000 RTM، كان يظهر خطأ أحيانًا عند محاولة استعراض المكعبات. [ 53 ] اكتشفت مايكروسوفت أيضًا مشكلة في برنامج تثبيت أنظمة التشغيل ويندوز 95 وويندوز 98 وويندوز مي ، والتي منعت برنامج تثبيت MDAC من التراجع عند مواجهة خطأ في التثبيت. [ 54 ]
قامت مايكروسوفت بحلّ العديد من المشكلات الأمنية في MDAC 2.7. وأفاد ديفيد ليتشفيلد من شركة Next Generation Security Software Ltd بوجود ثغرة أمنية ناتجة عن احتواء إحدى وظائف ODBC في MDAC، المستخدمة للاتصال بمصادر البيانات، على مخزن مؤقت غير مُدقّق. [ 55 ] كما تمّ إصلاح ثغرة أخرى تسمح للمهاجم بالردّ على رسالة اكتشاف SQL Server التي يبثّها العملاء بحزمة بيانات مُصمّمة خصيصًا، ما قد يتسبب في تجاوز سعة المخزن المؤقت. [ 56 ] وتمّ اكتشاف ثغرة أخرى تسمح بتنفيذ التعليمات البرمجية عن بُعد عند ردّ المهاجم على البثّ بحزمة بيانات مُصمّمة خصيصًا أخرى. [ 57 ]
MDAC 2.8
تم إصدار MDAC 2.8 في أغسطس 2003، ووُزِّع مع نظام التشغيل Microsoft Windows Server 2003 ، بالإضافة إلى موقع Microsoft الإلكتروني الخاص بتقنيات الوصول إلى البيانات . لم يُضِف هذا الإصدار أي ميزات جديدة للمنتج، ولكنه عالج عددًا من الأخطاء والمشاكل الأمنية ، حيث أُزيل ملف reg (الذي يُؤتمت التغييرات في سجل النظام) والذي كان يُشغِّل الخادم في وضع "غير آمن" يسمح باستغلال RDS للوصول غير المصرح به إلى النظام [ 58 ]. كما فُرِضَ قيد جديد على طول سلسلة استعلام Shape [ 59 ] . وشملت التغييرات أيضًا عدة تعديلات على مسؤول ODBC [ 60 ] .
في 23 مايو 2005، أعلن براد رودس (مدير برنامج تقنيات الوصول إلى البيانات في مايكروسوفت) أن MDAC 2.8 SP1 هو آخر إصدار مستقل قابل لإعادة التوزيع من MDAC ستصدره مايكروسوفت. أصبح MDAC الآن مكونًا رسميًا لنظام تشغيل مايكروسوفت، مع استمرار مايكروسوفت في توفير إصلاحات مستمرة للأخطاء والثغرات الأمنية للإصدارات السابقة من الإصدار القابل للتوزيع عبر الإنترنت. [ 61 ] [ 62 ] ومع ذلك، أنشأت مايكروسوفت مكونًا جديدًا يُسمى SQL Native Client (SQLNCLI)، وهو واجهة برمجة تطبيقات مستقلة للوصول إلى البيانات، تجمع مكتبتي OLE DB وODBC في ملف DLL واحد. صُمم هذا المكون ليكون مستقلًا عن MDAC، الذي أصبح الآن يعتمد على حالة نظام التشغيل - حيث يقوم المطور الآن بالربط بهذه المكتبة ويتجنب الحالات التي يؤدي فيها تحديث نظام التشغيل الذي يُحدّث MDAC إلى تعطيل التطبيقات المبنية على إصدار مختلف من MDAC. [ 63 ]
أدى إصدار Windows 7 SP1 إلى تعطيل التوافق مع الإصدارات السابقة لـ MDAC 2.8. لن تعمل البرامج المُجمّعة على Windows 7 SP1 والتي تعتمد على MDAC ADO على إصدارات Windows السابقة لـ Windows 7 SP1 (بما في ذلك Windows 7 RTM وVista وXP). [ 64 ] وقد وفرت مايكروسوفت حلولًا لتجاوز هذه المشكلة لبعض التطبيقات، لكن تطبيقات VBA لا تزال متأثرة. [ 65 ] تم إصدار التحديث الخاص بإصلاح هذه المشكلة في فبراير 2012. [ 66 ]
ويندوز DAC 6.0
لن يستخدم نظام التشغيل Windows Vista تقنية MDAC بعد الآن، بل سيستخدم تقنية Windows DAC، التي تتضمن إصدارات محدثة من مكونات ADO وOLE DB وODBC. ووفقًا لمايكروسوفت، "تتضمن تقنية Windows DAC بعض التغييرات لتتوافق مع نظام التشغيل Windows Vista، ولكنها مكافئة وظيفيًا بشكل كامل تقريبًا لتقنية MDAC 2.8." [ 67 ]
التحقق من الإصدار
هناك طريقتان للتحقق من إصدار MDAC المثبت على جهاز الكمبيوتر. بالنسبة لأنظمة Windows 2000 وWindows XP وWindows Server 2003، تتمثل إحدى الطرق في استخدام برنامج مدقق المكونات من Microsoft، الذي يقارن قيمة كل ملف DLL مثبت من MDAC ببيان ملف MDAC. أما الطريقة الثانية فهي التحقق من المفتاح HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\FullInstallVerفي سجل Windows . وتشير Microsoft إلى أن هذه المعلومات قد تكون غير صحيحة لإصدارات MDAC الأقدم من 2.1 عند مقارنتها بإصدارات ملفات MDAC المثبتة على النظام [ 68 ].
| إصدار | تاريخ الافراج عنه | مشمول مع | سمات | قضايا أمنية |
|---|---|---|---|---|
| 1.0 | أغسطس 1996 |
|
| لم تصدر أي نشرات |
1.5 | سبتمبر 1997 - مارس 1998 |
|
| |
| 1.5a | سبتمبر 1997 - مارس 1998 | إصدار الخدمة | ||
| 1.5 ب | سبتمبر 1997 - مارس 1998 |
| إصدار الخدمة | |
| 1.5 سنت | سبتمبر 1997 - مارس 1998 |
| ||
| 2.0 | 1 يوليو 1998 |
|
| |
| 2.0SP1 | 1 يوليو 1998 |
| معالجة مشكلة عام 2000 لنظام التشغيل ويندوز إن تي 4.0 | |
| 2.0SP2 | 1 يوليو 1998 |
| معالجة مشكلة عام 2000 لجميع المنصات | |
| 2.1 | 11 يوليو 1998 |
|
| |
| 2.1 SP1 | 15 مارس 1999 |
| ||
| 2.1 SP1a (GA) | 1 أبريل 1999 |
| ||
| 2.1 SP2 | يوليو 1999 | |||
| 2.5 | 17 فبراير 2000 |
|
| |
| 2.5 SP1 | 31 يوليو 2000 |
| ||
| 2.5 SP2 | أبريل 2000 |
| ||
| 2.5 SPS3 | ديسمبر 2003 |
| ||
| 2.6 | سبتمبر 2000 |
| غير مشمول (يتم تركيبه يدويًا):
| |
| 2.6 SP1 | مايو 2001 |
| ||
| 2.6 SP2 | مايو 2002 |
| ||
| 2.7 | أكتوبر 2001 |
|
| |
| 2.8 | أغسطس 2003 |
| تم إصلاح الأخطاء والمشاكل الأمنية | |
| 2.8 SP1 | مايو 2005 |
| تم إصلاح الأخطاء | |
| 2.8 SP2 | مارس 2005 |
| ||
| 9.0 | لم يتم إصداره مطلقا |
| ||
| ويندوز DAC 6.0 (نسخة معدلة من MDAC للاستخدام مع نظام التشغيل Vista) | نوفمبر 2006 |
|
مراجع
- ↑ كالين ديلاني (2000)، "داخل مايكروسوفت إس كيو إل سيرفر 2000" ، الطبعة الثالثة. ريدموند : مطبعة مايكروسوفت، الصفحات 70-74. ISBN 9780735609983
- ↑ MSDN، "إنشاء وتكوين ملفات Universal Data Link (.udl)" . مايكروسوفت. مؤرشف في 17 فبراير 2007؛ تم الاطلاع عليه في 28 أبريل 2007.
- 1 2 3 براش شيرولكار، أليسا هنري، ستيفن بيبتون، إيسي جيه. بانش، وديفيد شوارتز (سبتمبر 2011). "خارطة طريق تقنيات الوصول إلى البيانات" ، شركة مايكروسوفت . مؤرشف في 8 نوفمبر 2017؛ تم الاطلاع عليه في 1 مارس 2018.
- ↑ MSDN، "مجموعة الحقول" . مايكروسوفت. مؤرشف في 7 سبتمبر 2012؛ تم الاطلاع عليه في 19 سبتمبر 2005.
- ↑ MSDN، "مجموعة الخصائص" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 19 سبتمبر 2005.
- ↑ MSDN، "مجموعة المعلمات" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 19 سبتمبر 2005.
- ↑ MSDN، "مجموعة الأخطاء" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 19 سبتمبر 2005.
- ↑ MSDN، "ADO 2.8: استخدام كائن اتصال" . مايكروسوفت. مؤرشف في 7 سبتمبر 2009؛ تم الاطلاع عليه في 10 سبتمبر 2005.
- ↑ MSDN، "سلسلة اتصال ADO" . مايكروسوفت. تم الاطلاع عليه في 10 سبتمبر 2005.
- ↑ MSDN، "نظرة عامة على كائنات الأوامر" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 10 سبتمبر 2005
- ↑ MSDN، "فحص البيانات" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 10 سبتمبر 2005.
- ↑ MSDN، "مرجع واجهة برمجة تطبيقات ADO 2.8: خصائص كائن مجموعة السجلات، والأساليب، والأحداث" . مايكروسوفت. مؤرشف في 4 فبراير 2008.
- ↑ MSDN، "تحرير البيانات" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 10 سبتمبر 2005.
- ↑ MSDN، "حذف السجلات باستخدام طريقة الحذف" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 10 سبتمبر 2005.
- ↑ MSDN، "تحديث البيانات وحفظها" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 12 سبتمبر 2005.
- ↑ MSDN، "معالجة المعاملات" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 12 سبتمبر 2005.
- ↑ MSDN، "كائن السجل" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 12 سبتمبر 2005.
- ↑ MSDN، "السجلات والتدفقات" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 12 سبتمبر 2005.
- ↑ MSDN، "التدفقات والاستمرارية" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 12 سبتمبر 2005.
- ↑ MSDN، "كائن المعلمة" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 12 سبتمبر 2005.
- ↑ MSDN، "كائن الحقل" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 12 سبتمبر 2005.
- ↑ MSDN، "كائن الخاصية" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 13 سبتمبر 2005.
- ↑ MSDN، "معالجة الأخطاء" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 18 سبتمبر 2005.
- ↑ MSDN، "معلومات الأخطاء المتعلقة بالحقول" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 18 سبتمبر 2005.
- ↑ MSDN، "معلومات الأخطاء المتعلقة بمجموعة السجلات" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 18 سبتمبر 2005.
- ↑ دوغ روثاوس ومايك بيزو (ديسمبر 2001)، "ADO.NET لمبرمج ADO" . MSDN، مايكروسوفت. مؤرشف في 2 مارس 2011؛ تم الاطلاع عليه في 22 سبتمبر 2005.
- ↑ مركز مطوري إطار عمل .NET، "مكونات Windows DAC/MDAC المهملة" . MSDN، مايكروسوفت. مؤرشف في 14 سبتمبر 2008؛ تم الاطلاع عليه في 5 أغسطس 2005.
- ↑ بيل هاميلتون (2008)، "دليل استخدام ADO.NET 3.5" ، الطبعة الثانية. سلسلة كتب الطبخ، دار نشر أورايلي ميديا، ص 27. تاريخ الوصول: 9 أكتوبر 2012. "[...] استخدم [...] موفر Oracle OLE DB (MSDAORA) للوصول إلى بيانات Oracle." ISBN 9780596101404
- ↑ MSDN، "موفر Microsoft OLE DB لـ ODBC" . مايكروسوفت. مؤرشف في 6 يونيو 2011؛ تم الاطلاع عليه في 30 يوليو 2005.
- ↑ مايكروسوفت (25 أغسطس 2004)، "معلومات: قيود برنامج تشغيل مايكروسوفت أوراكل ODBC وموفر OLEDB ". مؤرشف في 29 يناير 2005؛ تم الوصول إليه في 4 أغسطس 2005.
- ↑ MSDN، "خدمة البيانات عن بعد (RDS)" . مايكروسوفت. مؤرشف في 14 مايو 2011؛ تم الاطلاع عليه في 11 أغسطس 2005.
- ↑ كالين ديلاني (2000)، "داخل مايكروسوفت إس كيو إل سيرفر 2000" ، الطبعة الثالثة. ريدموند : مطبعة مايكروسوفت، ص 65. ISBN 9780735609983.
- ↑ كريستين سولومون (1997)، "دليل مطوري مايكروسوفت أوفيس 97" . ريدموند : مطبعة مايكروسوفت، الصفحات 195-200. ISBN 9781572316065
- 1 2 3 4 5 6 كريستيان كولر، "ADO und MDAC Versionen" . AspHeute.com. أرشفة 15 أغسطس 2006 ؛ تم الوصول إليه في 1 يوليو 2005 (باللغة الألمانية) .
- 1 2 3 4 مايكروسوفت (23 يناير 2007). "معلومات: ما هي MDAC وDA SDK وODBC وOLE DB وADO وRDS وADO/MD؟" مؤرشف في 4 سبتمبر 2009؛ تم الاطلاع عليه في 1 يوليو 2005.
- ↑ TechNet، "برنامج أمان مايكروسوفت: الأسئلة الشائعة: نشرة أمان مايكروسوفت (MS99-025)" . مايكروسوفت. مؤرشف في 9 مايو 2005؛ تم الاطلاع عليه في 6 يوليو 2005.
- ↑ مايكروسوفت (30 سبتمبر 2003، "PRB: رسائل خطأ معالج RDS بسبب إعدادات الأمان") . مؤرشف في 19 فبراير 2005؛ تم الوصول إليه في 6 يوليو 2005.
- ↑ TechNet (17 يوليو 1998)، "برنامج أمان مايكروسوفت: نشرة أمان مايكروسوفت (MS98-004)" . مايكروسوفت. مؤرشف في 9 أبريل 2004؛ تم الاطلاع عليه في 6 يوليو 2005
- ↑ الثغرات الأمنية الشائعة (2 يونيو 2000)، "CVE-1999-1011" . مؤرشف في 7 يناير 2001.
- ↑ مايكروسوفت. "مكونات الوصول إلى البيانات: إصلاح أمني عاجل للمشكلة Q329414" . مؤرشف بتاريخ 23 نوفمبر 2002.
- ↑ TechNet (20 نوفمبر 2002)، "نشرة مايكروسوفت الأمنية MS02-06" . مايكروسوفت. مؤرشفة في 18 أبريل 2004؛ تم الاطلاع عليها في 6 يوليو 2005.
- ↑ مايكروسوفت (11 أكتوبر 2005)، "تجميع جلسات OLE DB يتسبب في استخدام وحدة المعالجة المركزية بنسبة 100% (MDAC 2.5)" . مؤرشف في 26 سبتمبر 2006؛ تم الاطلاع عليه في 6 يوليو 2005.
- ↑ مايكروسوفت (13 يونيو 2001)، "معلومات: قائمة الأخطاء التي تم إصلاحها في حزمة الخدمة 2 من MDAC 2.5" . مؤرشفة في 15 نوفمبر 2004.
- ↑ مايكروسوفت (1 يونيو 2003)، "معلومات: قائمة الأخطاء التي تم إصلاحها في حزمة الخدمة 3 (SP3) من MDAC 2.5" . مؤرشفة في 15 نوفمبر 2004.
- ↑ مايكروسوفت (19 يوليو 2004) "بيان إصدار MDAC 2.6 (2.60.6526.3)" . مؤرشف في 19 أكتوبر 2005؛ تم الاطلاع عليه في 6 يوليو 2005.
- ↑ مايكروسوفت (13 أكتوبر 2004)، "لا تحتوي إصدارات MDAC 2.6 والإصدارات الأحدث على برامج تشغيل Jet أو Desktop ODBC" . مؤرشف في 19 أكتوبر 2004؛ تم الاطلاع عليه في 6 يوليو 2005.
- ↑ مايكروسوفت (22 سبتمبر 2004)، "لا ينبغي تثبيت MDAC 2.6 أو أحدث على مجموعات SQL Server 7.0" . مؤرشف في 20 أكتوبر 2004؛ تم الاطلاع عليه في 6 يوليو 2005.
- ↑ فيريتاس (25 يونيو 2003)، "لا ينبغي تثبيت برنامج VERITAS Backup Exec 9.0 لخوادم ويندوز على مجموعة خوادم مايكروسوفت SQL Server 7.0" . مؤرشف في 11 فبراير 2005.
- ↑ مايكروسوفت (28 مايو 2004)، "بيان إصدار MDAC 2.7 Refresh (2.70.9001.0)" . مؤرشف في 17 نوفمبر 2004؛ تم الاطلاع عليه في 10 أبريل 2019.
- ↑ مايكروسوفت (5 ديسمبر 2003)، "PRB: تكوين DSNs مع مكتبات الشبكة في SQL Server" . مؤرشف في 19 أكتوبر 2004.
- ↑ راندال سي. كينيدي (21 نوفمبر 2001)، "إنها ليست مشكلة، بل ميزة" . إنفوورلد . مؤرشف في 10 مارس 2007.
- ↑ مايكروسوفت (3 ديسمبر 2003)، "فشل تثبيت SQL Server 2000 أو الاتصالات المحلية مع ظهور رسالة الخطأ "خطأ أمان SSL: ConnectionOpen (SECDoClientHandshake())" . مؤرشف في 17 نوفمبر 2004.
- ↑ مايكروسوفت (24 أبريل 2003)، "إصلاح: لا يمكن استعراض المكعبات أو معالجة نموذج التنقيب بعد تثبيت خدمات التحليل 2000 RTM" . مؤرشف في 17 مايو 2005.
- ↑ مايكروسوفت (2 سبتمبر 2004)، "PRB: قد يفشل التراجع عن MDAC على أنظمة ويندوز 95 وويندوز 98 وويندوز ميلينيوم" . مؤرشف في 19 أكتوبر 2004.
- ↑ TechNet (31 يوليو 2002)، نشرة مايكروسوفت الأمنية MS02-040: "قد يؤدي وجود مخزن مؤقت غير مُدقَّق في وظيفة MDAC إلى اختراق النظام (Q326573)" . مايكروسوفت. مؤرشف في 11 أبريل 2004.
- ↑ TechNet (20 أغسطس 2003)، "نشرة مايكروسوفت الأمنية MS03-033: قد يؤدي عدم التحقق من المخزن المؤقت في وظيفة MDAC إلى اختراق النظام (823718)" . مايكروسوفت. مؤرشف في 6 مايو 2004.
- ↑ TechNet (1 أبريل 2004)، "نشرة مايكروسوفت الأمنية MS04-003: تجاوز سعة المخزن المؤقت في وظيفة MDAC قد يسمح بتنفيذ التعليمات البرمجية (832483)" . مايكروسوفت. مؤرشف في 14 أبريل 2004.
- ↑ مايكروسوفت (25 أبريل 2003)، "معلومات: تم حذف ملف Handunsf.reg من إعداد MDAC 2.8 Redist لأسباب أمنية" . مؤرشف في 19 أكتوبر 2004.
- ↑ مايكروسوفت (3 سبتمبر 2004)، "إصلاح: خطأ "الوسيط المُمرر إلى خدمة تشكيل البيانات غير صالح" بعد تطبيق MDAC 2.8" . مؤرشف في 19 أكتوبر 2004.
- ↑ مايكروسوفت (15 مايو 2003)، "معلومات: تغييرات مسؤول ODBC في MDAC 2.8" . مؤرشف في 21 أكتوبر 2004.
- ↑ براد رودز (23 مايو 2005)، "نهاية حزمة MDAC القابلة لإعادة التوزيع" . MSDN، مايكروسوفت. تاريخ الوصول: 11 أغسطس 2005.
- ↑ مايكروسوفت (24 يناير 2005) "استراتيجية إصدار مكونات الوصول إلى بيانات مايكروسوفت" . مؤرشف في 20 فبراير 2006؛ تم استرجاعه في 11 أغسطس 2005.
- ↑ إيسي ج. بانش (26 أبريل 2005)، "تقديم عميل SQL الأصلي" . MSDN، مايكروسوفت. مؤرشف في 24 سبتمبر 2005.
- ↑ EinmalIM (18 فبراير 2011)، "تغيير جذري في مكونات MDAC ADODB COM في Windows 7 Service Pack 1" . MSDN، مايكروسوفت. مؤرشف في 26 فبراير 2011؛ تم الاطلاع عليه في 9 مارس 2011.
- ↑ مايكروسوفت (16 مارس 2011)، "تطبيق ADO الذي يُعاد تجميعه على جهاز كمبيوتر يعمل بنظام التشغيل Windows 7 Service Pack 1 لا يعمل على أنظمة التشغيل الأقدم" . مؤرشف في 20 مارس 2011؛ تم الاطلاع عليه في 17 مارس 2011.
- ↑ مايكروسوفت (14 فبراير 2012)، "لا يعمل تطبيق قائم على ADO تم تجميعه في Windows 7 SP1 أو Windows Server 2008 R2 SP1 في الإصدارات السابقة من Windows" . مؤرشف في 8 مارس 2012؛ تم الاطلاع عليه في 20 أبريل 2012.
- ↑ MSDN، "الأسئلة الشائعة حول Windows DAC/MDAC" . مؤرشف في 5 يونيو 2011؛ تم الاطلاع عليه في 12 ديسمبر 2006.
- ↑ مايكروسوفت (18 يناير 2005)، "كيفية التحقق من إصدار MDAC" . مؤرشف في 24 ديسمبر 2005؛ تم الاطلاع عليه في 29 سبتمبر 2005.
- ↑ بوب بوشمين، نيلز بيرغلوند ودان سوليفان (2004)، "نظرة أولى على SQL Server 2005 للمطورين: تغييرات الفصل 11" . مؤرشف في 24 مارس 2006.
للمزيد من القراءة
- MSDN، "مرجع واجهة برمجة تطبيقات ADO" . مايكروسوفت. مؤرشف في 27 سبتمبر 2011؛ تم الاطلاع عليه في 3 مايو 2014.
- MSDN، "دليل مبرمج ADO" . مايكروسوفت. مؤرشف في 30 سبتمبر 2011؛ تم الاطلاع عليه في 3 مايو 2014.
روابط خارجية
- واجهات برمجة تطبيقات مايكروسوفت
