การเชื่อมต่อฐานข้อมูลแบบเปิด

จากวิกิพีเดีย สารานุกรมเสรี

ในวิทยาการคอมพิวเตอร์ การเชื่อมต่อฐานข้อมูลแบบเปิด [1] หรือ โอดีบีซี (อังกฤษ: Open Database Connectivity: ODBC) เป็นส่วนต่อประสานโปรแกรมประยุกต์แบบมาตรฐานสำหรับการใช้ระบบจัดการฐานข้อมูล ผู้ออกแบบ ODBC ได้ตั้งจุดมุ่งหมายที่จะทำให้เป็นอิสระจากภาษาโปรแกรม ระบบฐานข้อมูล และระบบปฏิบัติการ

ภาพรวม[แก้]

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

ในการเขียนรหัสคำสั่ง ODBC เพื่อใช้ประโยชน์จากลักษณะเฉพาะของระบบจัดการฐานข้อมูล จำเป็นต้องมีการเขียนโปรแกรมในระดับที่สูงขึ้น โปรแกรมประยุกต์ต้องใช้ความสามารถในการกำหนดประเภทของอ็อบเจกต์เวลาเรียกใช้ฟังก์ชัน Metadata ของ ODBC ที่จะส่งสารสนเทศเกี่ยวกับลักษณะที่สนับสนุน ประเภทที่ใช้ได้ วากยสัมพันธ์ ข้อจำกัด ระดับการแยกเดี่ยว สมรรถภาพของตัวขับ และอื่นๆ แม้ว่านักเขียนโปแกรมจะใช้เทคนิคที่ดัดแปลงได้ แต่ ODBC ก็อาจไม่ได้เตรียมลักษณะขั้นสูงบางลักษณะของระบบจัดการฐานข้อมูลไว้ ส่วนต่อประสาน ODBC 3.x จะทำงานได้ดีกับการประยุกต์ใช้ SQL แบบเดิมอย่างเช่น OLTP แต่ไม่ได้พัฒนาเพื่อสนับสนุนการประยุกต์ใช้ตาม SQL:1999 และ SQL:2003

ODBC จัดเตรียมมาตรฐานของการเข้าถึงข้อมูลแบบที่พบได้ทั่วไปเนื่องจากมีตัวขับ ODBC หลายตัวสำหรับแหล่งข้อมูลหลากหลายประเภท ODBC จะทำงานร่วมกับระบบปฏิบัติการหลากหลายประเภทและมีตัวขับสำหรับข้อมูลที่ไม่เป็นเชิงสัมพันธ์ เช่น เนื่องจาก Spreadsheets ข้อความ และแฟ้มข้อมูล XML ODBC มีมาตั้งแต่ พ.ศ. 2535 จึงพัฒนาให้ติดต่อกับแหล่งข้อมูลได้หลากหลายมากกว่าส่วนต่อประสานการเข้าถึงข้อมูลแบบอื่น และมีตัวขับสำหรับ ODBC อยู่มากกว่าตัวขับหรือผู้ให้บริการสำหรับส่วนต่อประสานที่ใหม่กว่าอย่างเช่น OLE DB JDBC และ ADO.NET

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

โครงแบบการเชื่อมโยง[แก้]

การเชื่อมโยง JDBC-ODBC[แก้]

การเชื่อมโยง JDBC-ODBC ประกอบด้วยตัวขับ JDBC ที่ใช้ตัวขับ ODBC ในการติดต่อกับฐานข้อมูล ตัวขับนี้จะแปลการเรียกเมท็อดใน JDBC ให้เป็นการเรียกฟังก์ชันใน ODBC ปกติแล้วนักเขียนโปรแกรมจะใช้การเชื่อมโยงนี้เมื่อฐานข้อมูลไม่มีตัวขับ JDBC ซึ่ง Sun Microsystems ได้ใส่การเชื่อมโยงนี้ไว้ใน JVM แต่ถ้ามีตัวขับ JDBC อยู่น้อยจะมองการเชื่อมโยงนี้เป็น Stop-gap measure

การเชื่อมโยง ODBC-JDBC[แก้]

การเชื่อมโยง ODBC-JDBC ประกอบด้วยตัวขับ ODBC ที่ใช้บริการของตัวขับ JDBC ในการติดต่อฐานข้อมูล ตัวขับนี้จะแปลการเรียกฟังก์ชันใน ODBC ให้เป็นการเรียกเมท็อดใน JDBC ปกติแล้วนักเขียนโปรแกรมจะใช้การเชื่อมโยงนี้เมื่อไม่มีตัวขับ ODBC สำหรับฐานข้อมูลที่ใช้อยู่แต่สามารถเข้าถึงตัวขับ JDBC ได้

การนำไปใช้[แก้]

ODBC ใช้งานบนระบบปฏิบัติการได้หลายประเภท เช่น Microsoft Windows ยูนิกซ์ ลินุกซ์ โอเอส/2 OS400 IBM i5/OS และ MAC OS X และมีตัวขับ ODBC อยู่มากมาย ทั้งตัวขับสำหรับ Oracle DB2 Microsoft SQL Server Sybase Pervasive SQL MySQL PostgreSQL และผลิตภัณฑ์ Desktop database อย่างเช่น FileMaker และ Microsoft Access

Microsoft ODBC[แก้]

Microsoft ได้ออกผลิตภัณฑ์ ODBC ตัวแรกเป็นชุดของ DLLs สำหรับ Microsoft Windows และใน พ.ศ. 2549 Microsoft ได้ติดตั้ง ODBC ที่ผลิตขึ้นไว้ในวินโดวส์ทุกรุ่นที่สนับสนุน

iODBC[แก้]

iODBC ได้เสนอ Open source ที่ใช้งานอย่างเป็นอิสระจากแพลตฟอร์ม ซึ่งสามารถใช้งานได้ในแพลตฟอร์มอื่นๆนอกเหนือจาก Microsoft Windows

UDBC[แก้]

UDBC เป็นการรวมข้ามแพลตฟอร์มระหว่าง ODBC และ SAG CLI ใช้พัฒนาโปรแกรมประยุกต์อย่างเป็นอิสระจากระบบจัดการฐานข้อมูลและไม่ขึ้นกับวินโดวส์

อ้างอิง[แก้]