2008-11-07 15 views
18

Sự khác nhau giữa OLEDB và ODBC là gì? Khi nào tôi sử dụng và làm thế nào để tôi biết những gì tôi đang xem là một trình điều khiển OLEDB v/s một trình điều khiển ODBC?OLEDB v/s ODBC

Trả lời

20

OLEDB và ODBC là hai API cơ sở dữ liệu khác nhau. ODBC là một chuẩn cũ hơn và thực sự không cụ thể cho các cửa sổ - bạn có thể nhận được các thư viện ODBC dựa trên Unix. OLEDB là một API dựa trên COM cho các kết nối cơ sở dữ liệu.

Có trình điều khiển để gói ODBC với mặt trước OLEDB nếu cơ sở dữ liệu bạn đang sử dụng không đi kèm với trình điều khiển OLEDB gốc. Trình điều khiển OLEDB IIRC DB2/400 và Sybase (ví dụ) sử dụng phương pháp này.

Quản trị viên ODBC trong Windows chỉ quan tâm đến trình điều khiển ODBC. Cả ODBC và OLEDB đều có thể sử dụng các chuỗi kết nối, có một định dạng hơi khác. Bạn có thể biết từ chuỗi kết nối - www.connectionstrings.com có các mẫu chuỗi kết nối cho nhiều trình điều khiển cơ sở dữ liệu khác nhau.

Chỉnh sửa: Oracle có công nghệ trình điều khiển cho mọi ngày trong tuần.

  • Oracle có một native OLEDB driver gọi là 'Oracle cung cấp cho OLEDB' hoặc một số ví dụ. Nếu bạn đang sử dụng bằng cách sử dụng ADO (non-.Net, nằm trên OLEDB), đây sẽ là trình điều khiển ưa thích .

  • Họ cũng có một ODBC driver đó sẽ là (ví dụ) hữu ích cho chiết xuất từ ​​một cơ sở dữ liệu Oracle vào MS-Access hoặc với một ứng dụng hoặc hệ thống mà không hỗ trợ OLEDB. Ví dụ, các ứng dụng Delphi/Oracle hoặc Powerbuilder/Oracle cũ hơn có thể sẽ sử dụng trình điều khiển này.

  • Oracle cũng có giao diện cụ thể của Oracle được gọi là OCI. Đây là giao diện nhanh nhất nếu bạn đang viết bằng C và cũng sẽ hoạt động trên các cửa sổ không không tuân thủ nhưng gắn ứng dụng của bạn với Oracle. Các ràng buộc ngôn ngữ động như cx_Oracle cho Python có xu hướng là trình bao bọc xung quanh OCI.

  • Nếu bạn đang sử dụng. Net, bạn có thể muốn ODP.Net thay vì bằng cách sử dụng .Net cung cấp cho OLEDB. Đây là tiêu chuẩn . Thư viện giao diện Net do Oracle cung cấp.

  • Có một số JDBC drivers cho Oracle. Có trình điều khiển loại 2 là trình bao bọc cho OCI và trình điều khiển loại loại-4 được viết nguyên bản trong Java và liên lạc trực tiếp trực tiếp qua mạng tới máy chủ . Nếu bạn đang sử dụng Java trình điều khiển loại 4 có lẽ là tốt nhất cho hầu hết các ứng dụng (bạn không phải cài đặt một máy khách Oracle đầy đủ) trừ khi bạn có một lý do cụ thể để cần trình điều khiển loại-2.

+0

Vì vậy, nếu tôi có tùy chọn kết nối với Oracle DB, từ hệ thống Windows, tùy chọn được đề xuất là gì và tại sao? – Dan

+0

Tôi không nghĩ rằng có thể đưa ra câu trả lời hay cho câu hỏi đó mà không biết bạn muốn sử dụng ngôn ngữ nào. – gnud

+0

Nói là .NET. Và liệu tài xế có vấn đề? Tôi nghĩ nó phụ thuộc vào hệ điều hành. – Dan