Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Kết nối Oracle bằng ODP.NET với Thư viện Doanh nghiệp DAAB

Tôi hy vọng các bước sau sẽ cho bạn kết quả chính xác.

Để thay thế System.Data.OracleClient bằng Oracle.DataAccess.Client; và Oracle.DataAccess.Types

Tải xuống và cài đặt phiên bản mới nhất của Microsoft Enterprise Library ver 3.1 Có thể tìm thấy tại đây:- http://msdn2.microsoft.com/en-us/library/aa480453.aspx

Tải xuống và cài đặt Oracle ODP.Net từ trang web Oracle Tệp DLL của bạn phải ở trong:-C:\ oracle \ product \ 11.1.0 \ client_1 \ odp.net \ bin \ 2.x \ Oracle.DataAccess.dll

Khi nó nhắc bạn cài đặt nguồn, hãy làm như vậy bằng cách sử dụng hộp kiểm.

Nếu sau đó bạn không chạy msi theo đường dẫn sau C:\ Program Files \ Microsoft Enterprise Library 3.1 - May 2007 \ src

Mã cho thư viện được lưu trữ trên đường dẫn sau C:\ EntLib3Src \ App Blocks

Sao lưu thư mục src gốc trong trường hợp bạn cần chúng sau này - C:\ EntLib3Src \ App Blocks \ Src

Mở tệp giải pháp EnterpriseLibrary.sln Và truy cập dự án dữ liệu trong Khối ứng dụng truy cập dữ liệu

Thêm Tham chiếu Oracle.DataAccess.dll vào Dự án Dữ liệu. Tệp DLL của bạn phải ở trong:- C:\ oracle \ product \ 11.1.0 \ client_1 \ odp.net \ bin \ 2.x \ Oracle.DataAccess.dll

Tìm kiếm và thay thế phần sau [Thay vào đó, bạn có thể tải xuống và sử dụng tệp DLL cập nhật được đính kèm với bài viết này]

Tệp:- C:\ EntLib3Src \ App Blocks \ Src \ Data \ Oracle \ OracleDatabase.cs
Tệp:- C:\ EntLib3Src \ App Blocks \ Src \ Data \ DatabaseConfigurationView.cs
Tệp:- C :\ EntLib3Src \ App Blocks \ Src \ Data \ Oracle \ OracleDataReaderWrapper.cs

Tìm:- using System.Data.OracleClient;
Thay thế bằng:- using Oracle.DataAccess.Client; using Oracle.DataAccess.Types;

Tệp:- C:\ EntLib3Src \ App Blocks \ Src \ Data \ Configuration \ DbProviderMapping.cs Lớp:- DbProviderMapping

Tìm:- System.Data.OracleClient
Thay thế bằng:- Oracle.DataAccess.Client

Tệp:- C:\ EntLib3Src \ App Blocks \ Src \ Data \ Configuration \ Manageability \ ConnectionStringsManageabilityProvider.cs
Phương pháp:- AddAdministrativeTemplateDirectives
Tìm:- System.Data.OracleClient
Thay thế bằng:- Oracle.DataAccess.Client

Tệp:- C:\ EntLib3Src \ App Blocks \ Src \ Data \ Oracle \ OracleDatabase.cs
Phương pháp:- AddParameter

Tìm:- public void AddParameter(OracleCommand command, string name, OracleType oracleType, int size, ParameterDirection direction, bool nullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)

Thay thế bằng:- public void AddParameter(OracleCommand command, string name, OracleDbType oracleType, int size, ParameterDirection direction, bool nullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)

Lý do:- OracleType được thay thế bằng OracleDbType làm tham số thứ ba làm tên kiểu trong API odp.net

Tệp:- C:\ EntLib3Src \ App Blocks \ Src \ Data \ Oracle \ OracleDatabase.cs
Xóa:- [OraclePermission(SecurityAction.Demand)] -

Không có manh mối điều đó xảy ra nếu ai đó làm vui lòng tóm tắt về phiên phản hồi

Tệp:- C:\ EntLib3Src \ App Blocks \ Src \ Data \ Oracle \ OracleDatabase.cs
Tìm:- OracleType.Raw
Thay thế bằng:- OracleDbType.Raw

Tìm:- param.OracleType
Thay thế bằng:- param.OracleDbType

Tìm:- OracleType.Cursor
Thay thế bằng:- OracleDbType.RefCursor

Tìm:- parameter.OracleType
Thay thế bằng:- parameter.OracleDbType

Biên dịch ngay bây giờ và nếu bạn gặp lỗi, hãy làm như sau Cảnh báo là Lỗi:Nhận xét XML về - Xóa nội dung lỗi được đánh dấu / thay thế bằng nhận xét phê duyệt Hy vọng rằng nó sẽ biên dịch tốt ngay bây giờ.

Bây giờ, DLL được tạo bằng cách biên dịch dự án trên có thể được sử dụng chống lại cả SqlServer và Oracle [ODP.Net]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng Entity Framework trong .net 4.0 với cơ sở dữ liệu Oracle - có thể không?

  2. Làm thế nào để tải tệp phẳng với các cột động có kiểu dữ liệu khác nhau vào cơ sở dữ liệu oracle?

  3. Câu lệnh CREATE với các trường được trích dẫn trong Oracle

  4. Trả về sys_refcursor của tiên tri cho c #

  5. tìm thời gian đã trôi qua giữa hai ngày trong oracle sql