2009-07-27 19 views
10

Burada bir durumum var. Ben microsoft Sql-Server veritabanında sorgular çalıştıran neredeyse yayın kullanıma hazır (2 aylık sürüm) var. Sql-server için standart Microsoft jdbc sürücü uygulamasını kullanıyoruz. Harika çalışıyor, problem yok.JTDS sürücüsünü kullanma

Şimdi bana bir geliştirici geldi ve varsayılan jdbc uygulamasını JTDS sürücü uygulamasına geçirmemiz gerektiğini söylüyor.

Web'de sürücü ve kıyaslamaları hakkında biraz bilgi okudum ve bu gerçekten Microsoft'tan daha iyi bir performans sergiliyor gibi görünüyor.

Ama yakında piyasaya sürülmeyi göz önünde bulundurarak ve şoförün açık kaynak olduğunu ve şu anda şu anda düşünmediğim diğer tüm şeyleri düşünürseniz, anahtarınızı yapmak için zaman ayırır mısınız?

cevap

8

JTDS sürücüsünü herhangi bir sorun yaşamadan yaklaşık bir yıldır üretimde kullandım. Ancak, sizin durumunuzda, MS JDBC sürücüsü ile oluşturulmuş ve test edilmiş bir sisteminiz varsa, bununla gerçekten uğraşmanız gerekecek. Bu arada, bazı testler yapın ve kullanım durumlarınız için JTDS'den MS JDBC'den daha iyi performans gösteren sert rakamları toplayıp toplayamayacağınızı görün. Bkz. Veriler bu iddiaları yedekliyorsa, JTDS'yi geliştirme ve test döngülerinizde kullanmaya başlamak için bir plan hazırlayın ve nihayetinde üretim sürümünüze aktarın.

7

Açmak için kapat, no.

Daha sonra yapın, evet. JTDS, SQL bağlantınız için bir etki alanı hizmeti hesabı kullanabileceğiniz ve şifrelenmiş SSL'yi destekleyebildiğiniz gibi MS'in avantajlarından yararlanır.

8

Yaklaşık bir yıl boyunca jTDS sürücüleri kullanıyoruz. Bugün itibariyle aşağıdaki söyleyebilirim:

Artıları:

  • Daha küçük JAR.
  • ResultSets daha hızlıdır. Getirme yapılandırılabilir.
  • Diskteki büyük sonuçları önbelleğe alır (MS sürücüsü, bellekte yavaş çift yönlü imleçler veya önbellek sonuçları kullanmanızı ve zaman zaman OutOfMemoyErrors elde etmenizi gerektirir).
  • Dokümantasyon küçük ancak yeterlidir (MS sürücü belgeleri yüzlerce MSDN sayfasına yayılmıştır).
  • Daha iyi hata bildirimi (her zaman güzel bir SQLException, MS sürücüsü bazen ClassCastException veya başka bir RuntimeException verir).
  • Açık kaynak. Kötü topluluk desteği veren
    • Nispeten küçük bir kullanıcı tabanı,:

    Eksileri:

    • Kötü desteği nedeniyle.
    • Büyük bir şirket tarafından desteklenmediğinden, hızlı bir şekilde çözüme ihtiyacınız varsa, geliştiricilerin hazır bulunmasını ve yardım etmeye istekli olmasını (ve forum mesajlarını yanıtlamak için ödeme yapılmadıklarını unutmayın) umarsınız.
  • MS SQL Server protokolünün birçok özel parçası olduğundan, MS sunucuda bakım güncelleştirmelerini uygularken jTDS'yi bozan değişiklikler yapabilir.
  • MS sürücüsü kadar güncel değil. MS yeni bir SQL Server sürümü başlattığında, JDBC sürücüleri genellikle birlikte yayımlanır. jTDS yetişmek için çalışmalı ve bu aylar sürebilir.
+1

Nispeten küçük bir kullanıcı tabanına katılmıyorum, çalıştığım her şirket MSSQL JDBC sürücüsü yerine jTDS kullandı. – mjaggard

+0

Kullanıcı tabanı, MS sürücüsü kullanıcı tabanına kıyasla çok küçüktür, dolayısıyla 'nispeten' kelimesi. – fernacolo

+0

Göreli kullanıcı tabanınızın kaynağını sağlayabilir misiniz? Microsoft'u hiçbir zaman sürücülerinin sürümüyle ilgili olarak istemedim ve sürümünün SQL Server sürümleriyle uyumlu olduğunu görmedim. –

İlgili konular