我在django项目中连接到oracle db时面临问题,Oracle连接细节。'''
XXXX=
(DESCRIPTION =
(LOAD_BALANCE = YES)
(FAILOVER = YES)
(ADDRESS_LIST =
(ADDRESS = (COMMUNITY = XXX.xxxx)
(PROTOCOL = TCP)
(Host = xxx-xx.xxx.com)(Port = 1521)))
(CONNECT_DATA =
(service_name = xxxx.xxxxx)))
'''
我想在下面的django数据库连接代码中加入oracle的详细信息。
'''
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'xe',
'USER': 'a_user',
'PASSWORD': 'a_password',
'HOST': 'dbprod01ned.mycompany.com',
'PORT': '1540',
}
}
'''
欢迎来到StackOverflow!
欢迎来到StackOverflow!来自文档。如果tnsnames.ora没有被使用。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': '(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS=(COMMUNITY=XXX.xxxx)(PROTOCOL=TCP)(Host=xxx-xx.xxx.com)(Port=1521)))(CONNECT_DATA=(service_name=xxxx.xxxxx)))',
'USER': 'a_user',
'PASSWORD': 'a_password',
'HOST': '',
'PORT': '',
}
}
或者你已经确定你的oracle客户端已经配置了tnsnames。
tnsnames.ora
MY_AWESOME_TNS_ALIAS=(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS=(COMMUNITY=XXX.xxxx)(PROTOCOL=TCP)(Host=xxx-xx.xxx.com)(Port=1521)))(CONNECT_DATA=(service_name=xxxx.xxxxx)))
现在django可以通过别名进行配置。你可以隐藏django应用程序中的连接细节。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'MY_AWESOME_TNS_ALIAS',
'USER': 'a_user',
'PASSWORD': 'a_password',
'HOST': '',
'PORT': '',
}
}
祝您好运