มันเป็นการรวมกันของเหตุผลทางประวัติศาสตร์ / วิวัฒนาการและแรงตลาด
ในขณะที่ทำงานกับ Microsoft เมื่อหลายปีก่อนเป็นที่ชัดเจนว่ามีการพัฒนาข้อมูลที่แตกต่างกันหลายอย่าง แต่ละข้อเสนอนั้นมุ่งเป้าไปที่ตลาดเฉพาะหรือกรณีการใช้งานเช่น:
การเข้าถึงนั้นมุ่งเป้าไปที่ผู้ใช้เดสก์ท็อปที่คุ้นเคยกับระบบการจัดทำดัชนีบัตรที่สามารถสร้างแอปพลิเคชันโดยใช้แบบฟอร์มและรายงาน SQL เป็นส่วนเสริมตามธรรมชาติ ทั้งหมดนี้ใช้ 'เครื่องมือฐานข้อมูลในเครื่องของตัวเองชื่อ' JET ' ในที่สุด JET ก็ถูกกีดกัน - คำบนเถาองุ่นคือการขาดการควบคุมแหล่งที่เชื่อถือได้หมายความว่าพวกเขาสูญเสียแหล่งข้อมูลขนาดใหญ่
FoxPro มุ่งเป้าไปที่ผู้ใช้เดสก์ท็อปที่ต้องการความเร็วมากกว่าข้อมูลเชิงสัมพันธ์
SQL Server เป็นระบบฐานข้อมูล 'ใหญ่' ด้านองค์กร / เซิร์ฟเวอร์ที่มีขนาด / กำลังไฟ / ความพร้อมใช้งาน ฯลฯ ที่องค์กรต้องการ IIRC, MS อนุญาต Sybase 6 รุ่นที่สร้าง MSSQL
เมื่อเวลาผ่านไปขอบเขตบางส่วนมีความไม่ชัดเจนเช่น SQL Server สามารถทำงานบนเครื่องเดสก์ท็อปได้ในขณะนี้ แต่กรณีการใช้งานยังคงอยู่
ดังนั้นสิ่งนี้ทำให้เรามี 3 'back end' - ผลิตภัณฑ์ฐานข้อมูลที่ผลิตโดย Microsoft
หากต้องการเพิ่มในส่วนประสมนั้นมี API ระดับผู้พัฒนาที่แตกต่างกันเพื่อให้เข้าถึงระบบเหล่านี้:
เริ่มแรกมี API ไม่มากนัก - คุณเขียนโค้ดของคุณลงในแอปพลิเคชัน (FoxPro / Access) VBA เป็นวิธีหนึ่ง
Microsoft ใช้ MS ODBC เพื่อเชื่อมต่อกับระบบคู่แข่งเพื่อให้ Windows สามารถพูดคุยกับฐานข้อมูลขนาดใหญ่เช่น Oracle, Sybase และอื่น ๆ Excel เป็นหนึ่งในแอพที่โดดเด่นในการรับเครื่องมือ ODBC - ดึงข้อมูลจากฐานข้อมูลขนาดใหญ่ของคุณจัดการและแผนภูมิผลิตภัณฑ์ / กราฟ ฯลฯ ผู้ค้าฐานข้อมูลจำนวนมากลงเอยด้วยการนำ ODBC ไปใช้เพื่อให้ไคลเอนต์ที่แตกต่างสามารถเชื่อมต่อได้ดังนั้นกลยุทธ์นี้จึงประสบความสำเร็จ .. ถึงระดับ - ODBC ถือได้ว่าเป็นตัวแทนส่วนร่วมที่ต่ำที่สุด
ทีมต่าง ๆ เริ่มสร้างวิธีการของตนเองในการเข้าถึงเครื่องมือฐานข้อมูลเช่น DAO (Data Access Objects) สำหรับท้องถิ่นและ RDO (วัตถุข้อมูลระยะไกล) สำหรับระยะไกลเข้าถึงได้ผ่าน VB ซึ่งเป็นผลิตภัณฑ์นักพัฒนา MS ที่ได้รับความนิยมมากที่สุดในเวลานั้น
ความพยายามภายในเพื่อหาเหตุผลเข้ากับ API ที่มีความหลากหลายเหล่านี้และให้ API การเข้าถึงฐานข้อมูลที่มีความยืดหยุ่นสูง / แบบรวมศูนย์เดียวทำให้เรามี OLEDB แต่มันก็ยากมากที่จะเข้าไป (แม่แบบ C ++ จำนวนมาก)
ไม่สามารถใช้ OLEDB จาก VB ได้ดังนั้น ADO จึงได้รับการพัฒนาโดยใช้เทคนิค ActiveX ดังนั้นจึงสามารถใช้งานได้อีกครั้งโดยใช้ COM / OLE / ActiveX ซึ่งหมายถึง Access, Excel, VB และ ASP จึงกลายเป็นฐานข้อมูลที่เปิดใช้งาน
ในขณะที่เราย้ายเข้าสู่ยุค. NET, ADO ก็ย้ายเข้าสู่สภาพแวดล้อม. NET ซึ่งก่อให้เกิดประโยชน์มากมาย
ด้วยการกำเนิดของ LINQ กลไกการเข้าถึงฐานข้อมูลจริงกลายเป็นปัญหาน้อย
Caveat - เมื่อไม่นานมานี้ความทรงจำของฉันค่อนข้างเลือนลาง