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

Đặt múi giờ của phiên với Spring jdbc oracle

Cách chính xác là sử dụng DelegatingDataSource , truy xuất OracleConnection đối tượng từ nguồn dữ liệu ban đầu và gọi OracleConnection.setSessionTimeZone() với tham số thích hợp.

Mã C3P0 có dạng:

private Object[] timeZoneArgs = new Object[] { "Europe/Berlin" };

@Override
public Connection getConnection() throws SQLException {
    Connection conn = super.getConnection();
    try {
        final Method setSessionTimeZoneMethod = OracleConnection.class.getMethod("setSessionTimeZone", String.class);
        final C3P0ProxyConnection castCon = (C3P0ProxyConnection) conn;
        castCon.rawConnectionOperation(setSessionTimeZoneMethod, C3P0ProxyConnection.RAW_CONNECTION, timeZoneArgs);
        return conn;
    } catch (Exception e) {
        log.error("setSessionTimeZone failed " + e.getMessage());
        return conn;
    }
}


  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ìm bảng nơi thống kê bị khóa

  2. Oracle Apex 5.0 - Hiển thị hình ảnh tĩnh

  3. Bản cập nhật SQL có ảnh hưởng đến truy vấn con của nó trong quá trình chạy cập nhật không?

  4. Phục hồi cơ sở dữ liệu Oracle

  5. quan điểm cụ thể hóa trong tiên tri là gì?