ODBC مقابل OLEDB

عادةً ما يتم كتابة تطبيقات البرامج بلغة برمجة معينة (مثل Java و C # وما إلى ذلك) ، بينما تقبل قواعد البيانات الاستعلامات في بعض لغات قاعدة البيانات الأخرى (مثل SQL). لذلك ، عندما يحتاج تطبيق البرنامج إلى الوصول إلى البيانات في قاعدة بيانات ، يلزم وجود واجهة يمكنها ترجمة اللغات إلى بعضها البعض (التطبيق وقاعدة البيانات). خلاف ذلك ، يحتاج مبرمجو التطبيق إلى تعلم ودمج لغات محددة لقاعدة البيانات في تطبيقاتهم. ODBC (اتصال قاعدة البيانات المفتوحة) و OLEDB (ربط الكائنات وتضمينها ، قاعدة البيانات) هما واجهات تعمل على حل هذه المشكلة بالتحديد. ODBC هي واجهة مستقلة للنظام الأساسي واللغة ونظام التشغيل يمكن استخدامها لهذا الغرض. OLEDB هو خليفة ODBC.

ما هو ODBC؟

ODBC هي واجهة للوصول إلى أنظمة إدارة قواعد البيانات (DBMS). تم تطوير ODBC بواسطة SQL Access Group في عام 1992 في وقت لم يكن هناك وسيط قياسي للاتصال بين قاعدة البيانات والتطبيق. لا يعتمد على لغة برمجة محددة أو نظام قاعدة بيانات أو نظام تشغيل. يمكن للمبرمجين استخدام واجهة ODBC لكتابة التطبيقات التي يمكنها الاستعلام عن البيانات من أي قاعدة بيانات ، بغض النظر عن البيئة التي تعمل عليها أو نوع قواعد البيانات التي تستخدمها.

نظرًا لأن برنامج تشغيل ODBC يعمل كمترجم بين التطبيق وقاعدة البيانات ، يكون ODBC قادرًا على تحقيق استقلال اللغة والنظام الأساسي. هذا يعني أن التطبيق يخلص من عبء معرفة لغة قاعدة البيانات المحددة. بدلاً من ذلك ، سوف يعرف ويستخدم فقط بناء جملة ODBS وسيقوم برنامج التشغيل بترجمة الاستعلام إلى قاعدة البيانات بلغة يمكنه فهمها. بعد ذلك ، يتم إرجاع النتائج بتنسيق يمكن فهمه بواسطة التطبيق. يمكن استخدام واجهة برمجة تطبيقات برامج ODBC مع كل من أنظمة قواعد البيانات العلائقية وغير العلائقية. الميزة الرئيسية الأخرى لوجود ODBC كبرنامج وسيط عالمي بين التطبيق وقاعدة البيانات هي أنه في كل مرة تتغير فيها مواصفات قاعدة البيانات ، لا يلزم تحديث البرنامج. سيكون تحديث برنامج تشغيل ODBC فقط كافياً.

ما هو OLEDB؟

OLEDB هو واجهة برمجة تطبيقات للبيانات تم تطويرها بواسطة Microsoft. يسمح بالوصول إلى البيانات من مجموعة كبيرة من مصادر البيانات. يتم تنفيذه باستخدام Microsoft COM (وضع كائن المكون). يعتبر OLEDB خليفة لـ ODBC ، ويمكنه التعامل مع مصادر البيانات بمستوى أعلى بكثير مقارنة بـ ODBC. في الجوهر ، يقوم OLEDB بتوسيع ميزات ODBC إلى قواعد البيانات غير العلائقية (مثل قواعد بيانات الكائنات وجداول البيانات). هذا يعني أنه يمكن استخدام OLEDB مع قواعد البيانات التي لا تستخدم SQL. تم تطوير OLEDB كجزء من مكونات Microsoft Data Access Components (MDAC).

ما هو الفرق بين ODBC و OLEDB؟

إذا كان المبرمج غير مألوف لدى COM ، فإن ODBC هي الخيار الأفضل. ولكن ، ODBC هو جيد فقط لقواعد البيانات العلائقية ، بينما OLEDB مناسب لكل من قواعد البيانات العلائقية وغير العلائقية. إذا كانت قاعدة البيانات لا تدعم OLE (البيئات غير التابعة لـ OLE) ، فإن ODBC هي الخيار الأفضل. إذا كانت البيئة غير SQL ، فعليك استخدام OLEDB (لأن ODBC يعمل فقط مع SQL). وبالمثل ، إذا كانت مكونات قاعدة البيانات القابلة للتشغيل البيني مطلوبة ، فيجب استخدام OLEDB بدلاً من ODBC. ومع ذلك ، بالنسبة للبيانات ذات 16 بت ، فإن الوصول إلى ODBC هو الخيار الوحيد (لا يدعم OLEDB 16 بت). أخيرًا ، OLEDB هو الخيار الأفضل للاتصال بقواعد بيانات متعددة في وقت واحد (يمكن لـ ODBC الاتصال بقاعدة بيانات واحدة فقط في كل مرة).