我的数据库从 11g 更改为 oracle 19c,我使用了使用“SID”的身份验证形式,我得到的错误是 ORA-12505。目前,数据库连接使用“服务名称”形式。当更改 Python Django 格式的信息时,它停止给出错误 ORA-12505,但是,现在它给出错误 ORA-28040。
我需要对代码进行任何更改吗?因为我只对数据库数据进行了更改,将其置于接受 service_name 的格式。
自从我使用 Django 以来已经有一段时间了,但配置曾经是这样的:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'myhost.example.com/orclpdb1',
'USER': 'pythonhol',
'PASSWORD': 'welcome',
}
}
在此示例中,服务名称是oraclepdb
,而myhost.example.com
是运行数据库的计算机。这种形式myhost.example.com/oralpdb1
称为“Easy Connect”语法,请参阅这篇关于 19c 语法的文章:Oracle Database 19c Easy Connect Plus。