2011-09-21 24 views
10

Tôi có một dự án đang sử dụng System.Data.OracleClient vào lúc này và vì nó không được chấp nhận nên tôi muốn chuyển sang ODP.NET mới nhất phiên bản dành cho Oracle 11g. Xin vui lòng cho tôi biết nếu các bước sau đây sẽ làm việc cho tôi hay có một số hành động khác cần thiết để làm cho nó làm việc mà không có bất kỳ lỗi:Thay thế System.Data.OracleClient thành Oracle.DataAccess (ODP.NET)

  • Tháo tham chiếu đến các System.Data.OracleClient
  • Thêm tham chiếu đến Oracle.DataAccess dll
  • Thay OracleType enum với OracleDbType và cập nhật các tài liệu tham khảo để kiểu dữ liệu từ VARCHAR để VARCHAR2, vv
+0

Và, tất nhiên, thay đổi chỉ thị 'using' của bạn. Nhưng nếu không, tôi nghĩ rằng chúng được thiết kế đặc biệt để tương thích, vì vậy bạn có thể mang nó như là một thay thế thả. –

Trả lời

14

Bạn đã khá nhiều nhận nó.

Đây là writeup Oracle Tôi đi theo khi làm điều này: http://www.oracle.com/technetwork/topics/dotnet/code-154692.html

Hai điều khác để làm:

  1. Fix chuỗi kết nối của bạn.

  2. Nói với trường hợp OracleCommand mà bạn muốn để ràng buộc các thông số của bạn theo tên chứ không phải vị trí, sử dụng OracleCommand.BindByName = true

Góp ý: Khi bạn khắc phục chuỗi kết nối của bạn, thoát khỏi bất kỳ sự phụ thuộc vào tnsnames.ora bằng cách đặt toàn bộ chuỗi kết nối ngay trong chương trình của bạn.

+0

Cảm ơn. Sẽ thử nó vào cuối tuần và cho bạn biết. Tôi không muốn làm điều đó vào một ngày trong tuần vì nếu có một vấn đề toàn đội sẽ phải chịu do điều này :) – ria

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