Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Java kết nối với nhiều cơ sở dữ liệu

Bạn đang lưu trữ một nguồn dữ liệu duy nhất (và kết nối, và dbMainConnection) trong tĩnh biến của lớp của bạn. Mỗi khi ai đó yêu cầu nguồn dữ liệu, bạn thay thế nguồn trước bằng nguồn mới. Nếu một ngoại lệ xảy ra trong khi nhận một nguồn dữ liệu từ JNDI, thì nguồn dữ liệu tĩnh vẫn như cũ. Bạn không nên lưu trữ bất cứ thứ gì trong một biến tĩnh. Vì lớp dbMainConnection của bạn được xây dựng với tên của một cơ sở dữ liệu và có một số tên cơ sở dữ liệu, nên không có ý nghĩa gì khi đặt nó thành một lớp đơn.

Chỉ cần sử dụng mã sau để truy cập nguồn dữ liệu:

public final class DataSourceUtil {
    /**
     * Private constructor to prevent unnecessary instantiations
     */
    private DataSourceUtil() {
    }

    public static DataSource getDataSource(String name) {
        try {
            Context ctx = new InitialContext();
            String database = "jdbc/" + name;
            return (javax.sql.DataSource) ctx.lookup (database);
        }
        catch (NamingException e) {
            throw new IllegalStateException("Error accessing JNDI and getting the database named " + name);
        }
    }
}

Và cho phép người gọi nhận được kết nối từ nguồn dữ liệu và đóng nó khi họ sử dụng xong.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo gói API bảng trong Oracle SQL Developer?

  2. NLS_DATE_FORMAT với JDBC

  3. Cách sử dụng oracle trong cakePHP

  4. Cách xử lý Tiết kiệm ánh sáng ban ngày trong cơ sở dữ liệu Oracle

  5. Vấn đề cơ bản:đầu ra bảng điều khiển PL / SQL cơ bản?