ODBC เทียบกับ ADO
โดยทั่วไป แอปพลิเคชันซอฟต์แวร์จะเขียนในภาษาการเขียนโปรแกรมเฉพาะ (เช่น Java, C เป็นต้น) ในขณะที่ฐานข้อมูลยอมรับการสืบค้นในภาษาเฉพาะของฐานข้อมูลอื่นๆ (เช่น SQL) ดังนั้น เมื่อซอฟต์แวร์แอปพลิเคชันจำเป็นต้องเข้าถึงข้อมูลในฐานข้อมูล จำเป็นต้องมีอินเทอร์เฟซที่สามารถแปลภาษาระหว่างกัน (แอปพลิเคชันและฐานข้อมูล) มิฉะนั้น โปรแกรมเมอร์แอปพลิเคชันจำเป็นต้องเรียนรู้และรวมภาษาเฉพาะของฐานข้อมูลไว้ในแอปพลิเคชันของตน ODBC (การเชื่อมต่อฐานข้อมูลแบบเปิด) และ OLE DB (การเชื่อมโยงและการฝังอ็อบเจ็กต์ ฐานข้อมูล) เป็นอินเทอร์เฟซสองอินเทอร์เฟซที่แก้ปัญหาเฉพาะนี้ODBC เป็นอินเทอร์เฟซอิสระของแพลตฟอร์ม ภาษา และระบบปฏิบัติการ ที่สามารถใช้เพื่อจุดประสงค์นี้ OLE DB เป็นผู้สืบทอดต่อ ODBC ADO เป็นเสื้อคลุมสำหรับ OLE DB
ODBC คืออะไร
ODBC เป็นอินเทอร์เฟซสำหรับเข้าถึงระบบการจัดการฐานข้อมูล (DBMS) ODBC ได้รับการพัฒนาโดย SQL Access Group ในปี 1992 เมื่อไม่มีสื่อมาตรฐานในการสื่อสารระหว่างฐานข้อมูลและแอปพลิเคชัน ไม่ได้ขึ้นอยู่กับภาษาการเขียนโปรแกรมเฉพาะหรือระบบฐานข้อมูลหรือระบบปฏิบัติการ โปรแกรมเมอร์สามารถใช้อินเทอร์เฟซ ODBC เพื่อเขียนแอปพลิเคชันที่สามารถสืบค้นข้อมูลจากฐานข้อมูลใด ๆ โดยไม่คำนึงถึงสภาพแวดล้อมที่กำลังทำงานอยู่หรือประเภทของ DBMS ที่ใช้
เนื่องจากไดรเวอร์ ODBC ทำหน้าที่เป็นตัวแปลระหว่างแอปพลิเคชันและฐานข้อมูล ODBC จึงสามารถบรรลุความเป็นอิสระของภาษาและแพลตฟอร์ม ซึ่งหมายความว่าแอปพลิเคชันจะปลดเปลื้องภาระในการรู้ภาษาเฉพาะของฐานข้อมูล แต่จะทราบและใช้ไวยากรณ์ ODBS เท่านั้นและโปรแกรมควบคุมจะแปลแบบสอบถามไปยังฐานข้อมูลในภาษาที่สามารถเข้าใจได้จากนั้นผลลัพธ์จะถูกส่งกลับในรูปแบบที่แอปพลิเคชันสามารถเข้าใจได้ API ซอฟต์แวร์ ODBC สามารถใช้ได้กับทั้งระบบฐานข้อมูลเชิงสัมพันธ์และไม่ใช่เชิงสัมพันธ์ ข้อดีที่สำคัญอีกประการของการมี ODBC เป็นมิดเดิลแวร์สากลระหว่างแอปพลิเคชันและฐานข้อมูลคือ ทุกครั้งที่มีการเปลี่ยนแปลงข้อกำหนดของฐานข้อมูล ซอฟต์แวร์ไม่จำเป็นต้องอัปเดต การอัปเดตไดรเวอร์ ODBC เท่านั้นจึงจะเพียงพอ
ADO คืออะไร
ADO คือชุดของอ็อบเจ็กต์ COM (Component Object Mode) ที่ทำหน้าที่เป็นอินเทอร์เฟซสำหรับการเข้าถึงข้อมูลในแหล่งข้อมูล ADO ได้รับการพัฒนาในปี 1996 โดย Microsoft โดยเป็นส่วนหนึ่งของ Microsoft Data Access Components (MDAC) ADO สร้างเลเยอร์มิดเดิลแวร์ระหว่างแอปพลิเคชันที่เขียนในภาษาการเขียนโปรแกรมบางภาษาและ OLE DB (API ข้อมูลที่พัฒนาโดย Microsoft และผู้สืบทอดต่อ ODBC) โปรแกรมเมอร์สามารถใช้ ADO เพื่อเข้าถึงข้อมูลโดยไม่ทราบรายละเอียดการใช้งานพื้นฐานของฐานข้อมูล แม้ว่าคุณไม่จำเป็นต้องรู้ SQL ใดๆ เพื่อใช้ ADO แต่คุณสามารถใช้คำสั่ง SQL ได้อย่างแน่นอน
ODBC กับ ADO ต่างกันอย่างไร
ODBC เป็นอินเทอร์เฟซแบบเปิด ซึ่งสามารถใช้โดยแอปพลิเคชันใดก็ได้เพื่อสื่อสารกับระบบฐานข้อมูลใดๆ ในขณะที่ ADO เป็นตัวห่อหุ้มรอบ OLE DB (ซึ่งเป็นตัวต่อจาก ODBC) หากฐานข้อมูลไม่สนับสนุน OLE (สภาพแวดล้อมที่ไม่ใช่ OLE) ดังนั้น ODBC จะเป็นตัวเลือกที่ดีที่สุด หากสภาพแวดล้อมไม่ใช่ SQL คุณต้องใช้ ADO (เพราะ ODBC ใช้งานได้กับ SQL เท่านั้น) หากจำเป็นต้องใช้ส่วนประกอบฐานข้อมูลที่ทำงานร่วมกันได้ จะต้องใช้ ADO แทน ODBC อย่างไรก็ตาม สำหรับข้อมูล 16 บิตที่เข้าถึง ODBC เป็นเพียงตัวเลือกเดียว (ADO ไม่รองรับ 16 บิต) สุดท้าย ADO เป็นตัวเลือกที่ดีที่สุดสำหรับการเชื่อมต่อกับหลายฐานข้อมูลพร้อมกัน (ODBC สามารถเชื่อมต่อกับฐานข้อมูลได้ครั้งละหนึ่งฐานข้อมูลเท่านั้น)