Библиотеки Java JDBC Driver для различных типов баз данных
View more Tutorials:

В этой статье я вам покажу как скачать библиотеку управляющую определенную базу данных, здесь я инструктирую на разных видах баз данных:
- Oracle
- MySQL
- SQL Server.
Библиотека управления базы данных Oracle обычно называется ojdbc14.jar, ojdbc6.jar, ... Разница заключается в том, какой версией Java она была компилирована. Например:
- ojdbc14.jar: скомпилирован и упакован Java-версией 1.4
- ojdbc6.jar: скомпилирован и упакован Java-версией 1.6
- Более подробную информацию вы можете посмотреть и загрузитьть на веб-сайте Oracle:

Вы можете скачать файл ojdbc6.jar, он может управлять базу данных Oracle разных версий (XE, 10g, 11g, 12). Но почти все текущие Java-приложения используют Java версии 6 или новее.
Для скачивания на веб-сайте Oracle вы должны иметь аккаунт Oracle (Бесплатная регистрация).
Для экономии времени вы можете скачать по следующей ссылке:
Для скачивания на веб-сайте Oracle вы должны иметь аккаунт Oracle (Бесплатная регистрация).
Для экономии времени вы можете скачать по следующей ссылке:
Результаты скачивания:

<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>
// 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";
Пример соединения JDBC с базой данных 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; } }
Вы можете загрузить библиотеку JDBC для базы данных MySQL по ссылке:


Результат скачивания:

Способ использования: (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";
Пример использования JDBC для подключения к базе данных 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; } }
В некоторых случаях возникает ошибка с подключением Java или другого компьютера с MySQL. Причиной может быть, возможно, не конфигурировали сервер MySQL, чтобы разрешить подключения с других компьютеров.
Вы можете просмотреть раздел конфигурации в статье "Установка и настройка MySQL Community".
JTDS - это другая библиотека JDBC, управляющая базой данных SQLServer, это библиотека с открытым исходным кодом.
JTDS является открытым исходным кодом на 100% чисто Java (тип 4) JDBC 3.0 для Microsoft SQL Server (6.5, 7, 2000, 2005, 2008, 2012) и Sybase ASE (10, 11, 12, 15). JTDS основан на FreeTDS и в настоящее время является самым быстрым готовым JDBC-драйвером для SQL Server и Sybase. JTDS - это 100% совместимый с JDBC 3.0, поддерживающий только передовые и прокручиваемые/обновляемые ResultSets и реализующие все методы DatabaseMetaData и ResultSetMetaData.
Вы можете скачать все версии по ссылке:


Результат скачивания:

Способ использования: (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"):
Пример, использования JDBC для подключения к базе данных Database SQLServer используя библиотеку 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; } }
В некоторых ситуациях мы подключаемся к SQLServer, и происходит ошибка:
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)
Вышеупомянутая ошибка существует, может потому что вы не включаете сервис TCP/IP SQL Server. Вы можете ссылаться на раздел конфигурации в статье: "Руководство по установке и конфигурации SQLServer Express ..." по ссылке:
Библиотека SQLJDBC предоставляется корпорацией Microsoft.
Download:


Извлечь скачанный файл:


В результате получена библиотека:

// 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);
Пример использования JDBC для подключения к базе данных MySQL используя библиотеку 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; } }
В некоторых ситуациях мы подключаемся к SQLServer, и происходит ошибка:
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) ...
Вышеупомянутая ошибка существует, возможно потому что вы не включили сервис TCP/IP SQL Server. Вы можете ссылаться на раздел конфигурации SQLServer в статье: "Руководство по установке и конфигурации SQLServer Express ..." по ссылке:
Если и все ещё есть ошибки:
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) ...
Это неприятная ошибка, так как если перейти на использовние библиотеки JTDS, она не возникает.
- TODO
- You should use JTDS
Вы можете скачать драйвер JDBC для MongoDB по ссылке:

Вы так же можете скачать в Maven Repository:

