2009-03-25 40 views
6

Tôi đang cố gắng tìm ra cách tốt nhất để kết nối một ứng dụng ASP.Net (hiện có) với một cơ sở dữ liệu Oracle để đọc thông tin từ điển của nó là gì.Cách chọn nhà cung cấp Oracle cho ứng dụng .Net?

Đơn giản là có quá nhiều khả năng:

    Provider
  • MS dữ liệu Oracle (yêu cầu 8.1.7, namespace System.Data.OracleClient)
  • Provider
  • Oracle dữ liệu cho .NET (yêu cầu 9.2, namespace Oracle .DataAccess)
  • Oracle cung cấp cho OLE DB
  • MSDASQL và ODBC

Như ứng dụng hiện tại của tôi sử dụng MS SQL server, tùy chọn thêm sẽ là: Server

  • Liên Kết nào, truy cập thông qua server..user.object
  • Linked Server thông qua OPENROWSET

Có một vài câu hỏi về các chủ đề tương tự trên SO, nhưng chỉ một số người chấp nhận câu trả lời.

Trải nghiệm của bạn với từng trình điều khiển là gì? Ưu và nhược điểm của họ là gì?

Tất nhiên Oracle đang đề xuất ODP.Net. Yêu cầu của phiên bản 9.2 (hoặc cao hơn) có phải là vấn đề hiện nay không?

Trả lời

6

Tôi cũng khuyên bạn nên sử dụng ODP.NET. Chọn nhà cung cấp mới nhất (http://www.oracle.com/technology/tech/windows/odpnet/index.html). Nó có thể kết nối với một cơ sở dữ liệu Oracle 9.2 hoặc bản phát hành mới hơn của cơ sở dữ liệu.

Nhà cung cấp dữ liệu MS cho Oracle rất hạn chế. Bạn không thể làm việc với các mảng ví dụ và các kiểu do người dùng định nghĩa. Và tại sao Microsoft sẽ hỗ trợ tốt cho việc kết nối với Oracle?

Bạn cũng có thể xem nhà cung cấp của devart: http://www.devart.com/dotconnect/oracle/. Nó hỗ trợ khung thực thể.

4

Dump OLE DB và ODBC tùy chọn, nếu bạn có nhà cung cấp truy cập dữ liệu trực tiếp, không cần sử dụng OLE DB hoặc ODBC.

Tôi khuyên bạn nên sử dụng Nhà cung cấp dữ liệu Oracle cho .NET.

1

Microsoft vừa thông báo là deprecating System.Data.OracleClient.

Tôi nghĩ rằng lá bạn với một vài sự lựa chọn (ít nhất):

  • ODP.NET (miễn phí, từ Oracle)
  • DevArt
  • DataDirect

DevArt cũng có triển khai LINQ to Oracle có thể thú vị với bạn.

Các vấn đề liên quan