Bibliothèques de pilotes JDBC pour différents types de bases de données en Java
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.
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 :
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
Java Basic
- Personnaliser le compilateur Java pour traiter votre annotation (Annotation Processing Tool)
- Programmation Java pour l'équipe utilisant Eclipse et SVN
- Le Tutoriel de Java WeakReference
- Le Tutoriel de Java PhantomReference
- Tutoriel sur la compression et la décompression Java
- Configuration d'Eclipse pour utiliser le JDK au lieu de JRE
- Méthodes Java String.format() et printf()
- Syntaxe et nouvelles fonctionnalités de Java 8
- Expression régulière en Java
- Tutoriel de programmation Java multithreading
- Bibliothèques de pilotes JDBC pour différents types de bases de données en Java
- Tutoriel Java JDBC
- Obtenir des valeurs de colonne automatiquement incrémentées lors de l'insertion d'un enregistrement à l'aide de JDBC
- Le Tutoriel de Java Stream
- Le Tutoriel de Java Functional Interface
- Introduction à Raspberry Pi
- Le Tutoriel de Java Predicate
- Classe abstraite et interface en Java
- Modificateurs d'accès en Java
- Le Tutoriel de Java Enum
- Le Tutoriel de Java Annotation
- Comparer et trier en Java
- Le Tutoriel de Java String, StringBuffer et StringBuilder
- Tutoriel de gestion des exceptions Java
- Le Tutoriel de Java Generics
- Manipulation de fichiers et de répertoires en Java
- Le Tutoriel de Java BiPredicate
- Le Tutoriel de Java Consumer
- Le Tutoriel de Java BiConsumer
- Qu'est-ce qui est nécessaire pour commencer avec Java?
- L'histoire de Java et la différence entre Oracle JDK et OpenJDK
- Installer Java sur Windows
- Installer Java sur Ubuntu
- Installer OpenJDK sur Ubuntu
- Installer Eclipse
- Installer Eclipse sur Ubuntu
- Le Tutoriel Java pour débutant
- Histoire des bits et des bytes en informatique
- Types de données dans Java
- Opérations sur les bits
- Le Tutoriel de instruction Java If else
- Le Tutoriel de instruction Java Switch
- Les Boucles en Java
- Les Tableaux (Array) en Java
- JDK Javadoc au format CHM
- Héritage et polymorphisme en Java
- Le Tutoriel de Java Function
- Le Tutoriel de Java BiFunction
- Exemple de Java encoding et decoding utilisant Apache Base64
- Le Tutoriel de Java Reflection
- Invocation de méthode à distance en Java
- Le Tutoriel de Java Socket
- Quelle plate-forme devez-vous choisir pour développer des applications de bureau Java?
- Le Tutoriel de Java Commons IO
- Le Tutoriel de Java Commons Email
- Le Tutoriel de Java Commons Logging
- Comprendre Java System.identityHashCode, Object.hashCode et Object.equals
- Le Tutoriel de Java SoftReference
- Le Tutoriel de Java Supplier
- Programmation orientée aspect Java avec AspectJ (AOP)
Show More
- Tutoriels de programmation Java Servlet/JSP
- Tutoriels de Java Collections Framework
- Tutoriels Java API pour HTML & XML
- Tutoriels Java IO
- Tutoriels Java Date Time
- Tutoriels Spring Boot
- Tutoriels Maven
- Tutoriels Gradle
- Tutoriels Java Web Service
- Tutoriels de programmation Java SWT
- Tutoriels de JavaFX
- Tutoriels Java Oracle ADF
- Tutoriels Struts2
- Tutoriels Spring Cloud