betacode

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

View more Tutorials:

Сайт бесплатного изучения языков:
Следуйте за нами на нашей фан-странице, чтобы получать уведомления каждый раз, когда появляются новые статьи. Facebook

1- Введение

В этой статье я вам покажу как  скачать библиотеку управляющую определенную базу данных, здесь я инструктирую на разных видах  баз данных:
  1. Oracle
  2. MySQL
  3. SQL Server.

2- JDBC драйвер для Oracle

Библиотека управления базы данных 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 (Бесплатная регистрация).
Для экономии времени вы можете скачать по следующей ссылке:
Результаты скачивания:

2.1- Maven для 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>

2.2- Способ использования (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";
Пример соединения 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;
   }
}

3- JDBC драйвер для базы данных  MySQL

Вы можете загрузить библиотеку JDBC для базы данных MySQL по ссылке:
Результат скачивания:

3.1- Способ использования

Способ использования: (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;
  }
}

3.2- Некоторые трудности и способ исправления

В некоторых случаях возникает ошибка с подключением Java или другого компьютера с MySQL. Причиной может быть, возможно, не конфигурировали сервер MySQL, чтобы разрешить подключения с других компьютеров.
Вы можете просмотреть раздел конфигурации в статье "Установка и настройка MySQL Community".

4- JDBC драйвер для Database SQL Server (JTDS)

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.
Вы можете скачать все версии по ссылке:
Результат скачивания:

4.1- Способ использования (jtds)

Способ использования:  (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;
 }

}

4.2- Некоторые трудности и способы исправления

В некоторых ситуациях мы подключаемся к 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 ..." по ссылке:

5- JDBC драйвер для SQL Server (SQLJDBC)

Библиотека SQLJDBC предоставляется корпорацией Microsoft.
Download:
Извлечь скачанный файл:
В результате получена библиотека:

5.1- Способ использования (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);
Пример использования 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;
  }

}

5.2- Некоторые трудности и способы исправления

В некоторых ситуациях мы подключаемся к 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

6- JDBC драйвер для MongoDB

Вы можете скачать драйвер JDBC для MongoDB  по ссылке:
Вы так же можете скачать в Maven Repository:

View more Tutorials:

Maybe you are interested

Это онлайн курс вне вебсайта o7planning, который мы представляем, он включает бесплатные курсы или курсы со скидкой.