Tôi đã chạy so sánh nhanh các nhà cung cấp khác nhau bao gồm:
- Trải nghiệm cài đặt.
- Kết nối.
- Trải nghiệm Server Explorer.
- Cập nhật từ trải nghiệm cơ sở dữ liệu (cơ sở dữ liệu trước).
- Ánh xạ kiểu dữ liệu (trước tiên là cơ sở dữ liệu).
Đây là kết luận:
1. Kinh nghiệm cài đặt.
Oracle's ODP.NET (beta 3):Cài đặt phức tạp các phiên bản x86 và x64 riêng biệt, trình cài đặt không được thiết kế cho Windows. Đường dẫn hệ thống Fills (nguy hiểm là gần với độ dài tối đa), không cài đặt vào các thư mục tiêu chuẩn (tệp chương trình + dữ liệu ứng dụng).
Devart's DotConnect:Cài đặt trơn tru, DLL của nhà cung cấp được quản lý hoàn toàn.
Tiến trình của DataDirect:Cài đặt suôn sẻ, DLL của nhà cung cấp được quản lý hoàn toàn.
OPENLINK:Có vẻ như yêu cầu cài đặt phía máy chủ, không kiểm tra thêm.
2. Khả năng kết nối.
Oracle's ODP.NET (beta 3):Cấu hình phức tạp, yêu cầu cài đặt Oracle trên máy khách và tệp TSN bổ sung trong cài đặt Oracle hoặc một chuỗi kết nối dài và phức tạp trông giống như LISP / Scheme.
Cập nhật: Không thể tìm thấy điều này trong tài liệu, tuy nhiên, chuỗi kết nối cũng có thể chứa định nghĩa nguồn dữ liệu đơn giản, ví dụ:serverName:port / serviceName.
Devart's DotConnect:Chuỗi kết nối đơn giản + trình hướng dẫn.
Tiến trình của DataDirect:Chuỗi kết nối đơn giản + trình hướng dẫn.
3. Trải nghiệm Server Explorer.
ODP.NET của Oracle (beta 3):Mạnh nhất trong số ba, cho phép dễ dàng chỉnh sửa, xem các khóa và chỉ mục.
Devart's DotConnect:Xem bảng và trường.
Tiến trình của DataDirect:Cho phép dễ dàng chỉnh sửa, xem các khóa và chỉ mục.
4. Cập nhật từ trải nghiệm cơ sở dữ liệu (cơ sở dữ liệu trước).
ODP.NET của Oracle (beta 3):Đơn giản.
Devart's DotConnect:Hiển thị các bảng từ tất cả các lược đồ, không có tùy chọn để lọc - khiến việc tìm kiếm các bảng trở nên mệt mỏi.
Tiến trình của DataDirect:Đơn giản.
5. Ánh xạ kiểu dữ liệu (trước tiên là cơ sở dữ liệu).
ODP.NET của Oracle (beta 3):Ánh xạ mặc định cho số (1,0), số (2,0) và số (3,0) bị sai *. Có thể ghi đè thủ công cho số (2,0) và số (3 , 0). Việc sửa lỗi cho số (1,0) không hoạt động (ít nhất là không hoạt động trên phiên bản beta 3 - có thể đã hoạt động trong phiên bản beta 2).
Cập nhật: Hiện tại, phiên bản phát hành đã hết (112030), điều này đã được khắc phục. Một số ánh xạ có thể thực hiện được thông qua phần trong tệp app.config.
Devart's DotConnect:Hiển thị các bảng từ tất cả các lược đồ, không có tùy chọn lọc - khiến việc tìm kiếm các bảng trở nên mệt mỏi. , 0) đều sai *. Ghi đè thủ công sẽ hoạt động - không kiểm tra.
Tiến trình của DataDirect:Các ánh xạ mặc định là OK *.
(*) Các ánh xạ mà tôi mong đợi:
DB Data Type .NET Data Type
integer Decimal
int Decimal
smallint Decimal
long String
decimal Decimal
rowid String
float Decimal
double Decimal
binary float Single
binary double Double
char[40] String
charvar[40] String
natchar[40] String
natcharvar[40] String
natcharacter[40] String
natcharactervar[40] String
number Decimal
numeric Decimal
nvarchar2[40] String
real Decimal
date DateTime
timestamp DateTime
timestamplocal DateTime
timestampzone DateTimeOffset
xml String
raw15 Binary
raw16 Guid
raw17 Int64
number(1,0) Boolean
number(2,0) Byte or SByte
number(3,0) Byte or SByte (accepted Int16 as OK too)
number(4,0) Int16
number(5,0) Int16 (accepted Int32 as OK too)
number(6,0) Int32
number(7,0) Int32
number(8,0) Int32
number(9,0) Int32
number(10,0) Int32 (accepted Int64 as OK too)
number(11,0) Int64
number(15,0) Int64
number(16,0) Int64
number(17,0) Int64
number(18,0) Int64
number(19,0) Int64 (accepted Decimal as OK too)
number(20,0) Decimal (would accept Int64 as OK too)
number(21+,0) Decimal
Nếu bạn muốn kiểu cơ sở dữ liệu có thể lưu trữ bất kỳ số nào trong phạm vi kiểu .NET thì IntX yêu cầu một số (N, 0) trong đó Ceil (log10 (2 ^ X)) =N để lưu trữ **.
Bool (Int1) ==> number(1,0)
Byte (Int8) ==> number(3,0)
Int16, UInt16 ==> number(5,0)
Int32, UInt32 ==> number(10,0)
Int64 ==> number(19,0)
UInt64 ==> number(20,0)
** Tính toán giả định các số không có dấu, cho các số có dấu ceil (log (2 ^ (X-1)).
Tài liệu tham khảo cho các giả định về kiểu dữ liệu:
TECH trên mạng
Devart
Oracle