Loading

ORA-01882: timezone region not found

Veröffentlichungsdatum: Sep 26, 2024
Lösung
SYMPTOM

The following error is seen when connecting to Oracle DB using Mule's database module:
 
org.mule.module.db.internal.domain.connection.ConnectionCreationException: java.sql.SQLException: Cannot get connection for URL jdbc:oracle:thin:@localhost:1521:XE : ORA-00604: error occurred at recursive SQL level 1 
ORA-01882: timezone region not found 
(java.sql.SQLException) (org.mule.module.db.internal.processor.DbConnectionException).

CAUSE

Oracle DB requires the client timezone to be sent but it's not. 

WORKAROUND

We can workaround this by passing "oracle.jdbc.timezoneAsRegion=false" as a connection parameter to Oracle DB:
 
<db:oracle-config name="Oracle_Configuration"  doc:name="Oracle Configuration" dataSource-ref="OracleDS"/>
    <spring:beans>
        <spring:bean id="OracleDS" name="OracleDS" class="org.apache.commons.dbcp.BasicDataSource">
            <spring:property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
	        <spring:property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
	        <spring:property name="username" value="username"/>
	        <spring:property name="password" value="password"/>
	        <spring:property name="connectionProperties" value="oracle.jdbc.timezoneAsRegion=false"/>
        </spring:bean>
    </spring:beans>
Note: 
  • Apache DBCP library needs to be included in application classpath
Nummer des Knowledge-Artikels

001118972

 
Laden
Salesforce Help | Article