activiti 数据库配置错误:ORA-12505, TNS:listener does not currently know of SID given in connect desc

1、问题

在配置Activiti数据库后,启动Activiti-explorer时,发现总报 “ORA-12505, TNS:listener does not currently know of SID given in connect desc ."

2、解决

(1) 使用网上的说明,修改ORACLE监听器配置文件,无法解决。

修改listener.ora,(find -name listener.ora即可找到该文件)为:

  SID_LIST_LISTENER =
        (SID_LIST =
             (SID_DESC =
                   (SID_NAME = PLSExtProc)
                   (ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)
                   (PROGRAM = extproc)
             )
            (SID_DESC =
                   (GLOBAL_DBNAME = NIE)
                   (ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)
                   (SID_NAME = NIE)
            )

        )

(2)检查实例名,未发现错误

通过下列语句获取实例名

select INSTANCE_NAME from v$instance;

(3)最后发现原来是真正的原因是jdbcurl参数配置错误

在db.properties配置文件中,缺省配置是这样的:

db=h2
jdbc.driver=org.h2.Driver
jdbc.url=jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000
jdbc.username=sa
jdbc.password=

这个是H2数据库的配置,修改后的ORACLE配置是这样的:

db=oracle
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.8.3:1521:xedb;DB_CLOSE_DELAY=1000
jdbc.username=activiti
jdbc.password=activiti


在jdbc.url参数中;DB_CLOSE_DELAY=1000 为H2的参数配置,在ORACLE连接中是不存在的,这里若保留该参数,就会报本文开始提及的错误。

故问题的真正原因是jdbc.url错误,解决办法是去掉多余的参数。


你可能感兴趣的:(jdbc,Activiti,ORA-12505)