【发布时间】:2016-11-25 16:19:15
【问题描述】:
尝试通过 settings.py 连接到 Oracle 数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'Hostname:Port/Service name not SID',
'USER': 'Username',
'PASSWORD': 'Password',
}
}
根据我在网上找到的内容,如果我没有 SID,这应该是我通过服务名称连接到 Oracle DB 的方式。但我仍然收到错误django.db.utils.DatabaseError: ORA-12154: TNS:could not resolve the connect identifier specified
如果我放弃将这些详细信息放在settings.py 中,我只使用cx_Oracle 提供的连接字符串,
dsn_tns = cx_Oracle.makedsn('Hostname', 'Port',
service_name='Service name not SID')
connection = cx_Oracle.connect('Username', 'Password', dsn_tns)
我连接得很好。是否有新的语法可以连接到 settings.py 的服务名称?如果我可以简单地通过连接字符串进行连接,那么尝试通过 settings.py 进行连接是否有意义?
【问题讨论】:
标签: python sql django oracle django-oracle