sql >> Databáze >  >> RDS >> Oracle

Nastavení časového pásma relace pomocí jara jdbc oracle

Správný způsob je použít DelegatingDataSource , načtěte OracleConnection objekt z původního zdroje dat a zavolejte OracleConnection.setSessionTimeZone() s příslušným parametrem.

Kód C3P0 vypadá takto:

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. MySQLi připravilo zprávy o chybách

  2. MySQL utf8mb4, Chyby při ukládání emotikonů

  3. Řekněte svým uživatelům, aby se sami rozloučili

  4. Jak LTRIM() funguje v MariaDB