11
votes

Quels sont les avantages ou les inconvénients de la commutation au pilote JTDS du pilote Microsoft JDBC?

J'ai ici une situation. J'ai une application presque prête à l'emploi (publiée en 2 mois) qui exécute des requêtes sur la base de données Microsoft SQL-Server.Nous utilisez la mise en œuvre standard Microsoft JDBC Pilote pour SQL-Server. Fonctionne bien, pas de problèmes.

Maintenant, il y a un développeur pour moi et dit que je devrais changer notre implémentation de JDBC par défaut à la mise en œuvre du pilote JTDS.

J'ai lu un peu dans le Web à propos du conducteur et de ses points de repère, etc., et cela semble vraiment exécuter un peu mieux le pilote de Microsoft.

Mais en tenant compte de la libération bientôt et que le conducteur est OpenSource et toutes les autres choses que je ne pense pas actuellement à cela en ce moment, investiriez votre temps pour faire le commutateur?


3 Réponses :


8
votes

J'ai utilisé le pilote JTDS en production pendant environ une année sans aucun problème.

Cependant, dans votre cas, si vous avez un système conçu et testé avec le pilote MS JDBC, vous devez vraiment vous en tenir à cela.

Entre-temps, effectuez des tests et voyez si vous pouvez collecter des chiffres difficiles indiquant JDDS surperformant MS JDBC pour vos cas d'utilisation. Si les données sauvegardent ces assertions, lancez un plan pour démarrer à l'aide de JTDS dans vos cycles de développement et de test, en vous levant enfin à votre version de la production.


0 commentaires

7
votes

proche de la libération, non.

le faire plus tard, oui.

JTDS a des avantages sur la MS, par exemple que vous pouvez utiliser un compte de service de domaine pour votre connexion SQL et prend en charge la SSL d'Encryted.


0 commentaires

8
votes

Nous utilisons les conducteurs de JTDS pendant environ une année. A partir d'aujourd'hui, je peux dire ce qui suit:

Avantages:

  • Plus petit JAR.
  • ResultSets sont plus rapides. Fetching est configurable.
  • Caches d'énormes résultats sur le disque (pilote MS vous oblige à utiliser les résultats des curseurs ou des caches bidirectionnels lentes sur la mémoire, ce qui donne OutOfMemoyErrors occasionnels).
  • La documentation est petite mais assez (documentation du pilote MS se propage dans des centaines de pages MSDN).
  • Amélioration des rapports d'erreur (toujours une belle SQLException, tandis que pilote MS donne parfois ClassCastException ou autre RuntimeException).
  • open source.

    Moins:

    • Bad soutien, en raison de:
      • relativement petit nombre d'utilisateurs, ce qui donne une mauvaise soutien communautaire.
      • Non soutenu par une grande entreprise, donc si vous avez besoin d'une solution rapide, vous devez espérer que les développeurs sont disponibles et prêts à aider (et rappelez-vous qu'ils ne sont pas payés pour répondre à des messages des forums).
      • Parce que le protocole MS SQL Server possède de nombreuses pièces exclusives, MS peut effectuer des changements que jTDS pause lorsque vous appliquez des mises à jour de maintenance sur le serveur.
      • Pas de mise à jour que le pilote MS. Lorsque MS lance une nouvelle version de SQL Server, les pilotes JDBC sont généralement libérés ensemble. jTDS doivent travailler pour rattraper son retard et peut prendre des mois.

3 commentaires

Je ne suis pas d'accord avec une base d'utilisateurs relativement petite, chaque entreprise que j'ai travaille pour a utilisé JTDS plutôt que le pilote MSSQL JDBC.


La base d'utilisateurs est très faible par rapport à la base d'utilisateurs du pilote MS, d'où le mot «relativement».


Pouvez-vous fournir la source de votre base d'utilisateurs relative? Je n'ai jamais trouvé que Microsoft doit être invité avec la libération de leur conducteur et n'a pas vu sa libération d'aligner avec celle des versions SQL Server.