2012-01-17 20 views
8

Tôi đang viết một ứng dụng, nơi tôi cũng làm việc với ADO.NET:Oracle và ADO.NET (Các loại trong System.Data.OracleClient đang bị phản đối.)

using System.Data.OracleClient; 

Mã dụ:

try{ 
     OracleConnection myOracleConnection = new OracleConnection(connectionString); 
     myOracleConnection.Open(); 
     OracleCommand command = myOracleConnection.CreateCommand(); 
     ... 
    } 

Nó hoạt động nhưng tôi đã cảnh báo:

Warning 3 'System.Data.OracleClient.OracleCommand' is obsolete: 'OracleCommand has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260'  

Whats tùy chọn khác để tôi có? "Microsoft khuyến cáo rằng bạn sử dụng một nhà cung cấp Oracle của bên thứ ba." -

+0

thể trùng lặp của [System.Data.OracleClient namespace ngưng?] (Http://stackoverflow.com/questions/1004484/system-data-oracleclient- không gian tên-ngưng) –

+0

vâng .. giống nhau. – eMi

Trả lời

6

Bạn nên sử dụng ODP.NET (Oracle Data Provider for .NET)

Provider

Oracle dữ liệu cho .NET (ODP.NET) tính năng tối ưu hóa ADO.NET truy cập dữ liệu vào cơ sở dữ liệu Oracle. ODP.NET cho phép các nhà phát triển tận dụng lợi thế của chức năng cơ sở dữ liệu Oracle tiên tiến, bao gồm các nhóm ứng dụng thực tế , XML DB và bảo mật nâng cao. Nhà cung cấp dữ liệu có thể được sử dụng với phiên bản .NET Framework 4 mới nhất.

ODP.NET làm cho việc sử dụng Oracle từ .NET linh hoạt hơn, nhanh hơn và nhiều hơn nữa ổn định. ODP.NET bao gồm nhiều tính năng không có sẵn từ các trình điều khiển .NET khác, bao gồm kiểu dữ liệu XML nguyên bản, tự điều chỉnh, ghép nối kết nối RAC được tối ưu hóa, giao dịch có thể quảng bá và Xếp hạng nâng cao.

+1

là một DLL? Cú pháp mã có thay đổi không? – eMi

+0

@eMi: vâng, đó là một DLL. có một số khác biệt nhỏ. (Tôi nhớ tôi đã phải đặt thuộc tính 'BindByName' thành true) –

+0

Tôi sử dụng ODP.NET, nhưng không thể thiết lập kết nối, vì ConnectionString có vẻ sai. nhưng chính xác như vậy. :( – eMi

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