Sự khác biệt giữa OLEDB và ODBC

ODBC vs OLEDB

Nếu bạn biết chúng là gì, có lẽ bạn là nhà phát triển. Nếu bạn không biết chúng là gì, nhưng muốn biết - có lẽ bạn là nhà phát triển trong tương lai.

Do tính chất kỹ thuật của so sánh này, tôi đã bao gồm một thuật ngữ thuật ngữ ở cuối bài viết. Nếu bạn chưa quen với loại điều này, trước tiên bạn có thể muốn lướt qua.

Chúng ta hãy xem các thuật ngữ này, chúng được sử dụng để làm gì và tôi khuyên bạn nên dùng thuật ngữ nào.

Xác định điều khoản

Kiến trúc trình điều khiển ODBC

ODBC là viết tắt của Kết nối cơ sở dữ liệu mở. Đây là một tiêu chuẩn giao diện, được thiết kế để liên lạc giữa các ứng dụng và hệ điều hành (HĐH) khác nhau.

Ví dụ như, nếu bạn đã sử dụng viết một chương trình cho Linux, nhưng bạn cũng muốn tôi làm việc trong (HĐH). Câu trả lời của bạn sẽ là một API như ODBC.

Trong những ngày qua, các chương trình từng được viết lại hoàn toàn cho HĐH mới hoặc khác. Quá trình không hiệu quả.

ODBC xuất hiện vào năm 1992 để giải quyết vấn đề đó.

ODBC ban đầu được tạo cho Ngôn ngữ truy vấn có cấu trúc (SQL). Nó đã được mở rộng để xử lý nhiều ngôn ngữ lập trình hơn.

OLE BD là viết tắt của Cơ sở dữ liệu nhúng và liên kết đối tượng. Đây là một nhóm API được thiết kế để cung cấp quyền truy cập vào dữ liệu ứng dụng ở các định dạng tệp khác nhau. Điều này bao gồm khả năng SQL (như ODBC) và nhiều ngôn ngữ khác.

OLE BD đã được thiết lập để thành công ODBC, nhưng mọi thứ đã thay đổi

ODBC so với OLEDB

ODBC ban đầu tập trung vào SQL và, nếu bạn đang sử dụng SQL, điều đó hợp lý với ODBC. Sự lựa chọn rõ ràng được sử dụng là OLEDB. Nhưng như bạn sẽ tìm hiểu sau trong bài viết, bản phát hành SQL cuối cùng để hỗ trợ OLEDB ra mắt vào năm 2012. Và nó đang dần biến mất.

Sự thay đổi trong chiến lược này của Microsoft đã mất cảnh giác. Nhiều người dùng cứng đầu bám vào ODBC quá lâu, vì vậy việc di chuyển có ý nghĩa. Ngoài ra, có một thực tế là ODBC đang mở rộng.

Đối với sự khác biệt giữa hai điều này, thật khó để nói mà không có kỹ thuật.

Về cốt lõi, chúng là các API khác nhau cho các nguồn dữ liệu khác nhau.

Một ý kiến ​​cho rằng ODBC cụ thể hơn và đến mức, trong đó OLEDB quá chung chung và quá phức tạp.

Hỗ trợ hiện tại

Sự ra mắt năm 2012 của SQL là lần cuối cùng hỗ trợ OLEDB. Điều này nghiêng về việc bỏ phiếu ủng hộ ODBC.

ODBC đã mở rộng khả năng tương thích với việc sử dụng trình điều khiển, đây là yếu tố thúc đẩy chính trong việc thay đổi chiến lược của Microsoft.

Nhà phát triển cần thích nghi

Bản phát hành SQL đã đề cập (denali) đi kèm với bảy năm hỗ trợ cho OLEDB. Điều này có nghĩa là khi tôi viết điều này, các nhà phát triển chỉ còn hai năm để thích nghi.

Mọi người đều hiểu rằng nó có thể khó thích nghi, nhưng người dùng OLEDB sẽ không có lựa chọn nào sớm.

Sự khác biệt giữa ODBC và OLEDB

Chịu đựng tôi đi, nó sắp trở nên rất kỹ thuật. Để dễ đọc Tôi đã chứa thông tin trong một bảng.

Bảng này dựa trên thông tin của một tờ giấy trắng kỹ thuật từ ftp.sas.com

ODBC OLED
Được thiết kế ban đầu cho cơ sở dữ liệu quan hệ. (kể từ khi thay đổi) Được thiết kế ban đầu cho cơ sở dữ liệu phi quan hệ và quan hệ.
Hỗ trợ liên tục cho SQL Hỗ trợ SQL void 2019
Dựa trên thành phần Dựa trên thủ tục
Khó triển khai hơn Dễ dàng triển khai hơn

Đó chỉ là về khoản tiền đó. Tôi hy vọng bạn đã hiểu rõ hơn về sự khác biệt giữa ODBC và OLEDB. Nếu bạn không, tôi đã cung cấp thêm một số cách đọc bên dưới, cũng như liên kết đến bài viết kỹ thuật được đề cập ở trên.

Nếu bạn có kinh nghiệm sử dụng hai API này, tại sao không cho chúng tôi biết trong các nhận xét? Có phải chúng ta đã nhận được một cái gì đó sai? Có điều gì bạn có thể thêm cho những người mới ngoài kia không?

Chúng tôi muốn nghe từ bạn trong các ý kiến.

Bảng chú giải

ODBC: Kết nối cơ sở dữ liệu mở

OLE DB: Cơ sở dữ liệu nhúng và liên kết đối tượng

HĐH: Hệ điều hành (như windows)

API: Giao diện lập trình ứng dụng

Cơ sở dữ liệu quan hệ: Một tập hợp các mục dữ liệu được sắp xếp vào các bảng. Các mục dữ liệu có thể được truy cập và tập hợp lại mà không cần sắp xếp lại các bảng cơ sở dữ liệu.

Cơ sở dữ liệu không liên quan: Không tuân theo tiêu chuẩn quan hệ. Còn được gọi là cơ sở dữ liệu NoQuery.

Đọc thêm

Liên kết đến (lỗi thời - xem ở trên, OLEDB đang mất chức năng SQL) giấy trắng: http://ftp.sas.com/techsup/doad/v8auge/odbcdb.pdf

Cơ sở dữ liệu quan hệ và không liên quan: https://www.mongodb.com/scale/relational-vs-non-relational-database

Ý kiến ​​của người dùng về ODBC so với OLEDB: https://community.qlik.com/thread/106540