ODBC
จากวิกิพีเดีย สารานุกรมเสรี
- บทความนี้มีชื่อเป็นภาษาอื่น หรือใช้อักษรในภาษาอื่น เนื่องจากต้องการคงไว้ตามต้นฉบับ หรือไม่มีชื่อภาษาไทยที่เหมาะสม
ในวิชาการคอมพิวเตอร์ ODBC ย่อจาก Open Database Connectivity เป็นส่วนต่อประสานโปรแกรมประยุกต์แบบมาตรฐานสำหรับการใช้ระบบจัดการฐานข้อมูล ผู้ออกแบบ 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 ยูนิกซ์ ลินุกซ์ OS/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 ใช้พัฒนาโปรแกรมประยุกต์อย่างเป็นอิสระจากระบบจัดการฐานข้อมูลและไม่ขึ้นกับวินโดวส์

