2011-07-15 4 views
0

Nous avons deux approches pour nous connecter à nos bases de données MSSQL, l'une étant le pont ODBC Sun JDBC et l'autre étant le pilote JDBC MSSQL.Pilote ODBC JDBC Sun ou pilote JDBC MSSQL

Nous procédons à une réorganisation et souhaitons une approche uniforme de la connectivité des bases de données.

Quel pilote devrions-nous utiliser? (Je laisse la question à un très large niveau, je voudrais entendre ce que les opinions des gens sont)

Répondre

4

Le pilote de pont de Sun ne doit pas être utilisé pour autre chose que le prototypage et le développement rapide.

Vous devez toujours utiliser un pilote JDBC de type IV, le cas échéant. Il y a deux que je connais pour SQL Server: Microsoft's version et jTDS.

Même Sun/Oracle le dit. Ceci est de leur docs:

Si possible, utilisez un pilote pur Java JDBC au lieu du pont et un pilote ODBC . Ceci élimine complètement la configuration du client requise par ODBC. Il élimine également le potentiel que la machine virtuelle Java pourrait être corrompue par une erreur dans le code natif introduit par le pont (c'est-à-dire, la bibliothèque native Bridge, la bibliothèque du gestionnaire de pilotes ODBC, la bibliothèque de pilotes ODBC et la base de données bibliothèque client).

Le pilote JDBC-ODBC Bridge est recommandé pour les efforts de prototypage et pour les cas où aucun autre pilote technologique JDBC n'existe. Si un pilote Java JDBC commercial est disponible, nous recommandons de l'utiliser à la place du Bridge.

0

Utilisez le MSSQL Type 4 JDBC driver fourni par Microsoft ou le jTDS driver. Au moment d'écrire ceci, le pilote JDBC MSSQL proposé par Microsoft est à la version 3.0, bien que la version 4 soit disponible en version d'aperçu.

Évitez le pilote ODBC JDBC de Sun car il s'agit réellement d'un pont vers le pilote ODBC installé sur la machine. On a demandé à Atleast one question sur StackOverflow pourquoi les pilotes de Type 4 devraient être utilisés par opposition aux pilotes Type 1 (ponts ODBC) ou Type 2 (basés sur JNI).

Pour ajouter aux réponses postées dans cette question, les types 1 (ponts de pilotes ODBC) doivent être évités à moins que vous ne puissiez pas trouver un pilote JDBC auprès du fournisseur. Après tout, cela n'a pas de sens d'avoir des dépendances à la fois sur le pilote ODBC proposé par le fournisseur, ainsi que sur le pilote Sun JDBC-ODBC; tout bug rencontré dans la production pourrait être dans l'un ou l'autre. Par conséquent, si vous prenez cette décision pour une application métier, vous devez utiliser un pilote JDBC tiers bien testé (tel que jTDS ou DataDirect) ou le pilote fourni par le fournisseur (à moins que votre expérience ne suggère que le pilote est mal écrit ou que le vendeur est incapable de résoudre les problèmes ou de fournir des solutions de contournement dans un délai suffisant).