devstory

Bibliothèques de pilotes JDBC pour différents types de bases de données en Java

  1. Introduction
  2. Bibliothèque pilote Database Oracle
  3. Bibliothèque de contrôle la base de données de MySQL
  4. Bibliothèque de contrôle de la base de données SQL Server (JTDS)
  5. Bibliothèque de contrôle la base de données SQL Server (SQLJDBC)
  6. Bibliothèque de contrôle la base de données MongoDB

1. Introduction

Ce document vous donne des instructions de téléchargement et d'utilisation la bibliothèque qui contrôle une sorte de base de données, maintenant je vous donnerai des instructions sur les types de base de donné (database) :
  • Oracle
  • MySQL
  • SQL Server.

2. Bibliothèque pilote Database Oracle

La bibliothèque de contrôle la base de données Oracle est normalement nommée ojdbc14.jar, ojdbc6.jar,... La différence est qu'il a été compilé par la version de java. Par exemple:
  • ojdbc14.jar:compilé et emballé par la version Java 1.4
  • ojdbc6.jar: compilé et emballé par la version Java 1.6.
Plus de détails vous pouvez voir et télécharger au site web d'Oracle :
Vous pouvez télécharger le fichier ojdbc6.jar, il peut contrôler différentes versions de base de données Oracle (XE, 10g, 11g, 12). Mais la plupart du temps des applications Java utiliser Java version 6 ou celle plus récente.

Pour télécharger au site Web d'Oracle vous devez avoir le compte Oracle (l'inscription est gratuite).
Dans le cas où vous pouvez télécharger rapidement le lien ci-dessous :
Les résultats de téléchargement :
Maven pour Oracle JDBC Driver
<repositories>
       <!-- Repository for ORACLE ojdbc6. -->
       <repository>
           <id>codelds</id>
           <url>https://code.lds.org/nexus/content/groups/main-repo</url>
       </repository>
   </repositories>

    .......

   <dependencies>

       ......

       <!-- Oracle database driver -->
       <dependency>
           <groupId>com.oracle</groupId>
           <artifactId>ojdbc6</artifactId>
           <version>11.2.0.3</version>
       </dependency>

       .......

   </dependencies>
Comment utiliser (ojdbc)
// Driver class:
oracle.jdbc.driver.OracleDriver

// URL Connection String: (SID)
String urlString ="jdbc:oracle:thin:@myhost:1521:mysid"


// URL Connection String:  (Service Name)
String urlString ="jdbc:oracle:thin:username/pass@//myhost:1521/myservicename"

// Or:
String urlString ="jdbc:oracle:thin:@myhost:1521/myservicename";
L'exemple de la connexion JDBC à la base de données Oracle.
OracleConnUtils.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class OracleConnUtils {

   public static Connection getOracleConnection()
           throws ClassNotFoundException, SQLException {
       String hostName = "localhost";
       String sid = "db11g";
       String userName = "learningsql";
       String password = "1234";

       return getOracleConnection(hostName, sid, userName, password);
   }

   public static Connection getOracleConnection(String hostName, String sid,
           String userName, String password) throws ClassNotFoundException,
           SQLException {

      // Declare the class Driver for Oracle DB
      // This is necessary with Java 5 (or older)
      // Java6 (or newer) automatically find the appropriate driver.
      // If you use Java> 6, then this line is not needed.
       Class.forName("oracle.jdbc.driver.OracleDriver");

       // Example: jdbc:oracle:thin:@localhost:1521:db11g
       String connectionURL = "jdbc:oracle:thin:@" + hostName + ":1521:" + sid;

       Connection conn = DriverManager.getConnection(connectionURL, userName,
               password);
       return conn;
   }
}

3. Bibliothèque de contrôle la base de données de MySQL

Vous pouvez télécharger les bibliothèques de contrôle de la base de données MySQL à :
Les résultats de téléchargement :
Utilisation
Comment utiliser : (MySQL)
// Driver class:
com.mysql.jdbc.Driver

// URL Connection String:
String url = "jdbc:mysql://hostname:3306/dbname";


// Example:
String url = "jdbc:mysql://localhost:3306/simplehr";
L'exemple de l'utilisationde JDBC pour se contacter à la base de données MySQL
MySQLConnUtils.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class MySQLConnUtils {

  public static Connection getMySQLConnection()
          throws ClassNotFoundException, SQLException {
      String hostName = "localhost";
      String dbName = "learningsql";
      String userName = "root";
      String password = "12345";
      return getMySQLConnection(hostName, dbName, userName, password);
  }

  public static Connection getMySQLConnection(String hostName, String dbName,
          String userName, String password) throws SQLException,
          ClassNotFoundException {
     // Declare the class Driver for Oracle DB
     // This is necessary with Java 5 (or older)
     // Java6 (or newer) automatically find the appropriate driver.
     // If you use Java> 5, then this line is not needed.
      Class.forName("com.mysql.jdbc.Driver");


      // Ví dụ: jdbc:mysql://localhost:3306/simplehr
      String connectionURL = "jdbc:mysql://" + hostName + ":3306/" + dbName;

      Connection conn = DriverManager.getConnection(connectionURL, userName,
              password);
      return conn;
  }
}
Quelques problèmes et comment les réparer
Dans certains cas, l'erreur se produit lorsqu'il y a la connexion de Java ou simplement la connexion entre une autre machine à MySQL. La raison est que vous n'avez pas configuré le serveur MySQL pour autoriser les connexions à partir d'autres machines.
Vous pouvez revoir la section de configuration dans le document "Instruction de l'installation et de la configuration de MySQL Community":

4. Bibliothèque de contrôle de la base de données SQL Server (JTDS)

JTDS est une autre bibliothèque JDBC qui contrôle la base de données SQLServer, qui est une bibliothèque de source ouverte.
jTDS: est une source ouverte Java pure 100% (type 4) JDBC 3.0 contrôle pour Microsoft SQL Server (6.5, 7, 2000, 2005, 2008, 2012) et Sybase ASE (10, 11, 12, 15) . jTDS est basé sur FreeTDS et est actuelle le contrôleur JDBC le plus rapide pour SQL Server et Sybase. jTDS est 100% compatible avec JDBC 3.0, prend en charge avant uniquement et Scrollable ResultSet/ actualise et met en œuvre toutes les méthodes de la DatabaseMetaData et ResultSetMetaData.
Vous pouvez télécharger les versions à:
Les résultats de téléchargement :
L'utilisation (jtds)
L'utilisation : (SQL Server)
// Driver Class
net.sourceforge.jtds.jdbc.Driver

// Connection URL String:
jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]

// Example 1:
String url = "jdbc:jtds:sqlserver://MYPC:1433/simplehr;instance=SQLEXPRESS;user=sa;password=s3cr3t";

getConnection(url);

// Example 2:
String url = "jdbc:jtds:sqlserver://MYPC:1433/simplehr;instance=SQLEXPRESS";

getConnection(url, "sa", "s3cr3t"):
L'exemple de l'utilisation de JDBC pour se connecter à la base de données SQLServer avec l'aide de la bibliothèque JTDS.
SQLServerConnUtils_JTDS.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class SQLServerConnUtils_JTDS {

 // Connect to SQLServer.
 // (Using JTDS library)
 public static Connection getSQLServerConnection_JTDS() throws SQLException,
         ClassNotFoundException {
     String hostName = "localhost";
     String sqlInstanceName = "SQLEXPRESS";
     String database = "simplehr";
     String userName = "sa";
     String password = "12345";

     return getSQLServerConnection_JTDS(hostName, sqlInstanceName, database,
             userName, password);
 }


 // JTDS & SQLServer.
 private static Connection getSQLServerConnection_JTDS(String hostName,
         String sqlInstanceName, String database, String userName,
         String password) throws ClassNotFoundException, SQLException {

    // Declare the class Driver for Oracle DB
    // This is necessary with Java 5 (or older)
    // Java6 (or newer) automatically find the appropriate driver.
    // If you use Java> 5, then this line is not needed.
     Class.forName("net.sourceforge.jtds.jdbc.Driver");

      // Example:
     // jdbc:jtds:sqlserver://localhost:1433/simplehr;instance=SQLEXPRESS
     String connectionURL = "jdbc:jtds:sqlserver://" + hostName + ":1433/"
             + database + ";instance=" + sqlInstanceName;

     Connection conn = DriverManager.getConnection(connectionURL, userName,
             password);
     return conn;
 }

}
Quelques problèmes et comment les réparer
Dans certains cas, la connexion à SQLServer et l'erreur :
Exception in thread "main" java.sql.SQLException: Server tran-vmware has no instance named SQLEXPRESS.
   at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:301)
   at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
   at java.sql.DriverManager.getConnection(DriverManager.java:571)
   at java.sql.DriverManager.getConnection(DriverManager.java:215)
   at org.o7planning.tutorial.jdbc.ConnectionUtils.getSQLServerConnection_JTDS(ConnectionUtils.java:189)
   at org.o7planning.tutorial.jdbc.ConnectionUtils.getSQLServerConnection_JTDS(ConnectionUtils.java:72)
   at org.o7planning.tutorial.jdbc.ConnectionUtils.getMyConnection(ConnectionUtils.java:31)
   at org.o7planning.tutorial.jdbc.TestConnection.main(TestConnection.java:20)
L'erreur ci-dessus se produit car il peut être parce que vous n'avez pas activé le service TCP/IP de SQLServer. Vous pouvez vous référer à la section de configuration dans le document : "Instruction de l'installation et de la configuration de SQLServer Express... " à:

5. Bibliothèque de contrôle la base de données SQL Server (SQLJDBC)

SQLJDBC est une bibliothèque fournie par Microsoft.
Download:
Décompressez le fichier que vous venez de télécharger.
Les résultats obtenus :
L'utilisation (sqljdbc)
// Driver Class:
com.microsoft.sqlserver.jdbc.SQLServerDriver

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

// Url String:
String url = "jdbc:sqlserver://ServerIp;Instance=SQLEXPRESS;databaseName=simplehr";

// or
String url = "jdbc:sqlserver://ServerIp:1433;Instance=SQLEXPRESS;databaseName=simplehr";

String user = "dbUserID";
String pass = "dbUserPassword";

Connection connection = DriverManager.getConnection(url, user, pass);
L'exemple de l'utilisation de JDBC pour se contacter à Database SQLServer en utilisant la bibliothèque SQLJDBC
SQLServerConnUtils_SQLJDBC.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class SQLServerConnUtils_SQLJDBC {
 
  // Connect to SQLServer.
  // (Using SQLJDBC)
  public static Connection getSQLServerConnection_SQLJDBC()
          throws ClassNotFoundException, SQLException {
      String hostName = "localhost";
      String sqlInstanceName = "SQLEXPRESS";
      String database = "learningsql";
      String userName = "sa";
      String password = "12345";

      return getSQLServerConnection_SQLJDBC(hostName, sqlInstanceName,
              database, userName, password);
  }



  // SQLServer & SQLJDBC.
  private static Connection getSQLServerConnection_SQLJDBC(String hostName,
          String sqlInstanceName, String database, String userName,
          String password) throws ClassNotFoundException, SQLException {
     // Declare the class Driver for Oracle DB
     // This is necessary with Java 5 (or older)
     // Java6 (or newer) automatically find the appropriate driver.
     // If you use Java> 5, then this line is not needed.
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");


      // Example:
      // jdbc:sqlserver://ServerIp:1433/SQLEXPRESS;databaseName=simplehr
      String connectionURL = "jdbc:sqlserver://" + hostName + ":1433"
              + ";instance=" + sqlInstanceName + ";databaseName=" + database;

      Connection conn = DriverManager.getConnection(connectionURL, userName,
              password);
      return conn;
  }

}
Quelques de problèmes et comment les réparer
Dans certains cas, la connection à SQLServer et l'erreur se produit
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
  at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
  at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
  at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
  at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
  at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
  at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
  at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
  at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
  at java.sql.DriverManager.getConnection(Unknown Source)
  at java.sql.DriverManager.getConnection(Unknown Source)
  ...
L'erreur au-dessus se produit parce que vous n'avez pas Enable des services TCP/IP de SQLServer. Vous pouvez vous référer la section de configuration de SQLServer dans le document « Instruction de l'installation et de la configuration du SQLServer express ..." à:
S'il y a encore des erreurs :
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host tran-vmware, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
 at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
 at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
 at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
 at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
 at java.sql.DriverManager.getConnection(DriverManager.java:571)
 at java.sql.DriverManager.getConnection(DriverManager.java:215)
 ...
Ceci est un bug, parce que le passage utilise la bibliothèque JTDS n'a pas cet erreur.
  • TODO
  • You should use JTDS

6. Bibliothèque de contrôle la base de données MongoDB

La bibliothèque de contrôle de la base de données de MongoDB vous pouvez télécharger à :
Vous pouvez également télécharger à Maven Repository:

Java Basic

Show More