问:如何指定Django需要使用服务名称而不是SID连接到Oracle数据库?
您好,
我目前正在告诉我的Django配置使用我的SID连接到Oracle。
但是,我将需要使用服务名称而不是SID进行连接。
APP_DATABASES={
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'myservice',
'USER': 'system',
'PASSWORD': 'admin123',
'HOST': '192.168.1.45',
'PORT': '1699',
}
}
这个很好用。
然而,当我将“NAME”替换为服务名时,如下所示:
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'myservice.bose.com',
'USER': 'system',
'PASSWORD': 'admin123',
'HOST': '192.168.1.45',
'PORT': '1699',
}
我得到了一个 ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
很明显,Django要求使用SID连接Oracle,这不是我想要的。
如何指定Django需要使用服务而不是SID连接Oracle DB?
注意:我已经测试了上面提到的服务名并在Oracle SQL Developer中能够正常工作。
谢谢 - 非常感谢任何线索。
oracle://user:pass@/host.db.com:1699/oracle_service.db.com
(这就是解决方法) - epineda