Oracle
 sql >> база данни >  >> RDS >> Oracle

Задаване на часова зона на сесията с spring jdbc oracle

Правилният начин е да използвате DelegatingDataSource , извлечете OracleConnection обект от оригиналния източник на данни и извикайте OracleConnection.setSessionTimeZone() със съответния параметър.

C3P0 кодът изглежда така:

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. Използване на подзаявка в изявление за проверка в Oracle

  2. Erlang и неговата консумация на Heap памет

  3. INSERT и UPDATE запис с помощта на курсори в oracle

  4. Проверете дали текущата дата е между две дати Oracle SQL

  5. Начин да проверите завършения sql на Oracle