我们有两种web服务器。一种是基于Java(tomcat + spring boot),另一种是基于Python(Django)。
最近,我们将数据库从普通Oracle模式更改为RAC模式,我们的Java服务器可以通过以下配置成功连接到该模式:
jdbc:oracle:thin:@(DESCRIPTION=(ENABLE=BROKEN)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=177.177.50.112) (PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=177.177.50.113)(PORT=1521))(LOAD_BALANCE=NO)(FAILOVER=YES))(CONNECT_DATA=(SERVICE_NAME=aldb)(SERVER=DEDICATED)))然而,对于Django服务器,我们找不到一个合适的方法来配置这样的连接。有人有为Django配置Oracle RAC的经验吗?
发布于 2017-05-24 16:37:13
最后,我没有在Django配置中设置'PORT‘,而是将'NAME’的值设置为与Java jdbc dsn字符串相同,从而解决了这个问题。下面是一个示例:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': '(DESCRIPTION=(ENABLE=BROKEN)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=177.177.50.112) (PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=177.177.50.113)(PORT=1521))(LOAD_BALANCE=NO)(FAILOVER=YES))(CONNECT_DATA=(SERVICE_NAME=aldb)(SERVER=DEDICATED)))'
'USER':xxx,
'PASSWORD':xxx
}
}https://stackoverflow.com/questions/44074605
复制相似问题