本帖最后由 scott.chiu 于 2019-10-8 11:40 编辑
我们知道,Java JDBC连接Oracle是有三种方式的:
格式一:jdbc:oracle:thin:@//<host>:<port>/<service_name> 格式二:jdbc:oracle:thin:@<host>:<port>:<SID> 格式三:jdbc:oracle:thin:@<TNSName>
GeneXus 连接Oracle默认使用的是SID方式连接。
那么,是否可以改用service_name方式连接呢?——目前已知Oracle RAC以及Oracle cloud云容器数据库是需要使用service_name方式连接的。
GeneXus WIKI中有个参考方法:
https://wiki.genexus.com/commwiki/servlet/wiki?23250,Java%20JDBC%20Connection%20with%20Oracle%20RAC
在项目应用过程中,什么时候用SID连接,什么时候用service_name连接呢?
Oracle RAC架构实施后,GeneXus应用程序的开发与测试不受影响,应用程序在正式环境部署时仅仅需要修改对应的client.cfg中关于Oracle数据库的部分即可。
l 开发过程: GeneXus开发过程中,仍然使用单数据库方式,原来的数据库连接信息不做调整。
l 测试部署: GeneXus开发过程中,仍然使用单数据库方式,原来的数据库连接信息不做调整。
l 上线部署: 需要修改相应的连接信息,方法是直接修改tomcat的webapps下对应的client.cfg文件(注意,如果使用了工作流、GAM等等则需要查找出多个client.cfg文件进行修改)。 修改的内容包括: ⑴JDBC连接信息,例如: JDBC_DRIVER=oracle.jdbc.driver.OracleDriver DB_URL=jdbc:oracle:thin:@localhost:1521:glsc1 修改为: JDBC_DRIVER=oracle.jdbc.driver.OracleDriver DB_URL=jdbc:oracle:thin:@10.10.10.123:1521/glsc 注意使用斜杠/,斜杠/表示使用service_name,service_name为“glsc”
⑵用户名与密码修改
|