简体   繁体   English

Django oracle 数据库连接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM