[英]Django oracle database connection
Im facing issue while connecting to oracle db in django project, Oracle connection details: '''我在连接到 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)))
''' '''
i want to fit oracle details in below django database connection code,我想在下面的 django 数据库连接代码中安装 oracle 详细信息,
''' '''
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'xe',
'USER': 'a_user',
'PASSWORD': 'a_password',
'HOST': 'dbprod01ned.mycompany.com',
'PORT': '1540',
}
}
''' '''
Welcome to StackOverflow!欢迎来到 StackOverflow!
From the Doc.从文档。 If tnsnames.ora isn't being used.如果 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': '',
}
}
Or you have made sure your oracle client has tnsnames configured或者您已确保您的 oracle 客户端已配置 tnsnames
tnsnames.ora 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)))
Now django can be configured by alias name.现在 django 可以通过别名进行配置。 You hide the connection-details from the django application.您从 django 应用程序中隐藏连接详细信息。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'MY_AWESOME_TNS_ALIAS',
'USER': 'a_user',
'PASSWORD': 'a_password',
'HOST': '',
'PORT': '',
}
}
Best of luck!祝你好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.