2009-07-27 32 views
10

Tôi có một tình huống. Tôi có một ứng dụng gần như đã sẵn sàng phát hành (phát hành trong 2 tháng) chạy các truy vấn trên cơ sở dữ liệu Sql-Server microsoft. Chúng tôi sử dụng cài đặt trình điều khiển jdbc Microsoft chuẩn cho máy chủ sql. Hoạt động tuyệt vời, không có vấn đề gì.Sử dụng trình điều khiển JTDS

Bây giờ có một nhà phát triển với tôi và nói rằng chúng tôi nên chuyển thực hiện jdbc mặc định của chúng tôi để thực hiện trình điều khiển JTDS.

Tôi đọc trên web một chút về trình điều khiển và điểm chuẩn của nó, v.v. và nó thực sự có vẻ hoạt động tốt hơn một chút so với trình điều khiển của Microsoft.

Nhưng xem xét việc phát hành sớm và rằng người lái xe là nguồn mở và tất cả những thứ khác mà tôi hiện không nghĩ về nó ngay bây giờ, bạn sẽ đầu tư thời gian của bạn để thực hiện chuyển đổi?

Trả lời

8

Tôi đã sử dụng trình điều khiển JTDS trong sản xuất trong khoảng một năm mà không gặp bất kỳ sự cố nào.

Tuy nhiên, trong trường hợp của bạn, nếu bạn đã có một hệ thống được xây dựng và thử nghiệm với trình điều khiển MS JDBC, thì bạn thực sự phải tuân theo điều đó.

Trong thời gian chờ đợi, tiến hành một số thử nghiệm và xem liệu bạn có thể thu thập các số liệu cứng cho thấy JTDS hoạt động tốt hơn MS JDBC cho các trường hợp sử dụng của bạn hay không. Nếu dữ liệu sao lưu các xác nhận này, hãy đưa ra một kế hoạch để bắt đầu sử dụng JTDS trong các chu kỳ phát triển và kiểm tra của bạn, cuối cùng là đưa nó ra bản phát hành sản phẩm của bạn.

7

Đóng để phát hành, không.

Thực hiện sau, vâng.

JTDS có lợi ích đối với MS như bạn có thể sử dụng tài khoản dịch vụ miền cho kết nối SQL của bạn và hỗ trợ SSL được mã hóa.

8

Chúng tôi đang sử dụng trình điều khiển jTDS trong khoảng một năm. Tính đến hôm nay, tôi có thể nói như sau:

Ưu điểm:

  • nhỏ JAR.
  • Resultetsets nhanh hơn. Tìm nạp có thể định cấu hình.
  • Lưu trữ các kết quả lớn trên đĩa (trình điều khiển MS yêu cầu bạn sử dụng con trỏ hai chiều chậm hoặc lưu trữ kết quả trên bộ nhớ, thỉnh thoảng mang lại OutOfMemoyErrors).
  • Tài liệu nhỏ nhưng đủ (tài liệu hướng dẫn MS được lan truyền trong hàng trăm trang MSDN).
  • Báo cáo lỗi tốt hơn (luôn là SQLException tốt, trong khi trình điều khiển MS đôi khi cho ClassCastException hoặc RuntimeException khác).
  • Nguồn mở.

Nhược điểm:

  • Xấu hỗ trợ, do:
    • cơ sở người dùng tương đối nhỏ, việc hỗ trợ cộng đồng xấu.
    • Không được hỗ trợ bởi một công ty lớn, vì vậy nếu bạn cần một số giải pháp nhanh chóng, bạn phải hy vọng các nhà phát triển sẵn sàng và sẵn sàng giúp đỡ (và nhớ rằng họ không được trả tiền để trả lời tin nhắn diễn đàn).
  • Bởi vì giao thức MS SQL Server có nhiều phần độc quyền, MS có thể thực hiện các thay đổi phá vỡ jTDS khi bạn áp dụng cập nhật bảo trì trên máy chủ.
  • Không được cập nhật như trình điều khiển MS. Khi MS khởi chạy một phiên bản SQL Server mới, các trình điều khiển JDBC thường được phát hành cùng nhau. jTDS phải hoạt động để bắt kịp và có thể mất vài tháng.
+1

Tôi không đồng ý với cơ sở người dùng tương đối nhỏ, mọi công ty tôi từng làm đã sử dụng jTDS chứ không phải trình điều khiển JDBC MSSQL. – mjaggard

+0

Cơ sở người dùng là rất nhỏ khi so sánh với cơ sở người dùng trình điều khiển MS, do đó từ 'tương đối'. – fernacolo

+0

Bạn có thể cung cấp nguồn gốc của cơ sở người dùng tương đối của mình không? Tôi đã không bao giờ tìm thấy Microsoft để được nhắc nhở với việc phát hành trình điều khiển của họ và đã không nhìn thấy phát hành của nó phù hợp với các phiên bản SQL Server. –

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