Đó là sự kết hợp của các lý do lực lượng Lịch sử / Tiến hóa và Thị trường
Trong khi làm việc tại Microsoft vài năm trước, rõ ràng có một số dịch vụ dữ liệu khác nhau đang được phát triển. Mỗi dịch vụ được nhắm đến một thị trường hoặc trường hợp sử dụng cụ thể, ví dụ:
Access nhắm đến người dùng máy tính để bàn thoải mái với các hệ thống lập chỉ mục thẻ có thể xây dựng các ứng dụng bằng cách sử dụng các biểu mẫu và báo cáo. SQL là một bổ sung tự nhiên. Tất cả điều này đã sử dụng 'công cụ cơ sở dữ liệu máy cục bộ của riêng mình có tên là' JET '. Cuối cùng, JET đã bị loại bỏ - từ trên cây nho là việc thiếu kiểm soát nguồn (đáng tin cậy) có nghĩa là họ đã mất một phần lớn nguồn.
FoxPro đã nhắm đến người dùng máy tính để bàn, những người muốn tốc độ trên dữ liệu quan hệ.
SQL Server là hệ thống cơ sở dữ liệu 'lớn' của phía Doanh nghiệp / Máy chủ với tất cả quy mô / sức mạnh / tính khả dụng, v.v. mà doanh nghiệp cần. IIRC, MS đã cấp phép một phiên bản Sybase 6 để xây dựng MSSQL.
Theo thời gian, một số ranh giới đã bị mờ - ví dụ: SQL Server có thể chạy trên máy tính để bàn ngay bây giờ, nhưng trường hợp sử dụng vẫn còn.
Vì vậy, điều này mang lại cho chúng ta 3 'back end' - các sản phẩm cơ sở dữ liệu do Microsoft sản xuất.
Để thêm vào hỗn hợp, khi đó đã có các cấp API nhà phát triển khác nhau được cung cấp để có quyền truy cập vào các hệ thống này:
Ban đầu, không có nhiều cách thức API - bạn đã viết mã của mình bên trong ứng dụng (FoxPro / Access). VBA là một phương pháp.
Microsoft đã triển khai MS ODBC để kết nối với các hệ thống cạnh tranh để Windows có thể nói chuyện với các cơ sở dữ liệu lớn như Oracle, Sybase, v.v. Excel là một trong những ứng dụng đáng chú ý để có các công cụ ODBC - lấy dữ liệu từ DB lớn của bạn, thao tác với nó và biểu đồ sản phẩm / đồ thị, v.v ... Nhiều nhà cung cấp cơ sở dữ liệu đã kết thúc triển khai ODBC để cho phép các khách hàng khác nhau kết nối, vì vậy chiến lược này đã thành công .. ở một mức độ nào đó - ODBC có thể được coi là đại diện cho mẫu số chung thấp nhất.
Các nhóm khác nhau bắt đầu tạo ra các cách riêng để truy cập công cụ cơ sở dữ liệu như DAO (Đối tượng truy cập dữ liệu) cho cục bộ và RDO (Đối tượng dữ liệu từ xa) cho điều khiển từ xa, có thể truy cập thông qua VB, là sản phẩm dành cho nhà phát triển MS phổ biến nhất vào thời điểm đó.
Một nỗ lực nội bộ để hợp lý hóa các API đa dạng này và cung cấp API truy cập cơ sở dữ liệu rất linh hoạt / thống nhất cho chúng tôi OLEDB, nhưng rất khó để có được (rất nhiều mẫu C ++).
OLEDB không thể được sử dụng từ VB, do đó ADO được phát triển bằng kỹ thuật ActiveX, do đó, nó có thể được sử dụng lại bởi bất kỳ thứ gì có thể làm COM / OLE / ActiveX, nghĩa là Access, Excel, VB và do đó, ASP đã kích hoạt cơ sở dữ liệu.
Khi chúng ta bước vào kỷ nguyên .NET, ADO tự nhiên được chuyển sang môi trường .NET mang lại nhiều lợi ích khác nhau.
Với sự ra đời của LINQ, cơ chế truy cập cơ sở dữ liệu thực tế đã trở thành một vấn đề.
Hãy cẩn thận - Tôi đã rời đi một thời gian trước đây, vì vậy bộ nhớ của tôi hơi mờ