ความแตกต่างระหว่าง ODBC และ OLEDB

Anonim

ODBC vs OLEDB

โดยปกติแล้วแอปพลิเคชันซอฟต์แวร์จะถูกเขียนขึ้นในภาษาการเขียนโปรแกรมเฉพาะ (เช่น Java, C #, ฯลฯ) ในขณะที่ฐานข้อมูลยอมรับข้อความค้นหาในบางภาษาฐานข้อมูลอื่น ๆ (เช่น SQL) ดังนั้นเมื่อโปรแกรมซอฟต์แวร์ต้องการเข้าถึงข้อมูลในฐานข้อมูลต้องใช้อินเทอร์เฟซที่สามารถแปลภาษากัน (แอ็พพลิเคชันและฐานข้อมูล) ได้ มิฉะนั้นโปรแกรมเมอร์แอ็พพลิเคชันจำเป็นต้องเรียนรู้และรวมภาษาเฉพาะฐานข้อมูลไว้ในแอพพลิเคชันของพวกเขา ODBC (Open Database Connectivity) และ OLEDB (Object Linking และ Embedding, Database) เป็นอินเทอร์เฟซที่ช่วยแก้ปัญหาเฉพาะนี้ ODBC เป็นแพลตฟอร์มภาษาและระบบปฏิบัติการอิสระที่สามารถใช้เพื่อการนี้ได้ OLEDB เป็นตัวตายตัวแทนของ ODBC

ODBC คืออะไร?

ODBC เป็นอินเทอร์เฟซสำหรับเข้าถึงระบบจัดการฐานข้อมูล (DBMS) ODBC ได้รับการพัฒนาโดย SQL Access Group ในปี 1992 ในขณะที่ไม่มีสื่อมาตรฐานในการสื่อสารระหว่างฐานข้อมูลและแอพพลิเคชัน ไม่ขึ้นอยู่กับภาษาการเขียนโปรแกรมเฉพาะหรือระบบฐานข้อมูลหรือระบบปฏิบัติการ โปรแกรมเมอร์สามารถใช้อินเทอร์เฟซ ODBC เพื่อเขียนแอ็พพลิเคชันที่สามารถสืบค้นข้อมูลจากฐานข้อมูลใด ๆ โดยไม่คำนึงถึงสภาพแวดล้อมที่ใช้อยู่หรือชนิดของ DBMS ที่ใช้

เนื่องจากไดรเวอร์ ODBC ทำหน้าที่เป็นตัวแปลระหว่างโปรแกรมประยุกต์และฐานข้อมูล ODBC สามารถบรรลุความเป็นอิสระของภาษาและแพลตฟอร์มได้ ซึ่งหมายความว่าแอพพลิเคชันจะปลดปล่อยภาระการรู้ภาษาเฉพาะฐานข้อมูล แต่จะรู้และใช้ไวยากรณ์ ODBS เท่านั้นและไดรเวอร์จะแปลข้อความค้นหาไปยังฐานข้อมูลในภาษาที่สามารถเข้าใจได้ จากนั้นผลลัพธ์จะถูกส่งกลับในรูปแบบที่สามารถเข้าใจได้โดยแอ็พพลิเคชัน API ซอฟต์แวร์ ODBC สามารถใช้กับระบบฐานข้อมูลเชิงสัมพันธ์และระบบฐานข้อมูลเชิงสัมพันธ์อื่น ๆ ประโยชน์ที่สำคัญอีกประการหนึ่งของการมี ODBC เป็นตัวกลางสากลระหว่างแอ็พพลิเคชันและฐานข้อมูลคือทุกครั้งที่มีการเปลี่ยนแปลงข้อกำหนดของฐานข้อมูลซอฟต์แวร์นี้ไม่จำเป็นต้องได้รับการปรับปรุง เฉพาะการปรับปรุงโปรแกรมควบคุม ODBC จะเพียงพอ

OLEDB คืออะไร?

OLEDB เป็น API ข้อมูลที่พัฒนาโดย Microsoft ช่วยให้สามารถเข้าถึงข้อมูลจากแหล่งข้อมูลขนาดใหญ่ได้ มีการใช้งานโดยใช้ Microsoft COM (Component Object Mode) 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 สามารถเชื่อมต่อกับฐานข้อมูลได้ครั้งละหนึ่งฐาน)