我想通过Django连接到现有的oracle数据库并编写一个select语句来查询结果。我是Django的初学者,想知道要实现同样的步骤。
我确实更改了settings.py文件以反映更改
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'name',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'host.com',
'PORT': '1521',
}
}
答案 0 :(得分:0)
以下情况应该有效。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'db_user',
'USER': 'shema_name',
'PASSWORD': 'password',
'HOST': 'ip_or_domain',
'PORT': '1521',
}
}
答案 1 :(得分:0)
您需要在settings.py文件中更改以下条目。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'host.com:1521/dbname',
'USER': 'username',
'PASSWORD': 'password',
}
}
答案 2 :(得分:0)
您可以按照以下步骤使用Django连接到Oracle数据库。
settings.py
中添加数据库连接详细信息如果您通过服务进行连接
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'host.db.com:1540/oracle_service.db.com',
'USER': 'user',
'PASSWORD': 'password',
}
}
如果您通过SID连接
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'xe',
'USER': 'a_user',
'PASSWORD': 'a_password',
'HOST': 'dbprod01ned.mycompany.com',
'PORT': '1540',
}
}
在您的Django项目中安装cx_Oracle
library。
转到应用程序的views.py
文件并添加以下代码。
from django.http import JsonResponse
from django.db import connection
def process(request):
with connection.cursor() as cursor:
cursor.execute("select * from YOUR_TABLE")
columns = [col[0] for col in cursor.description]
return JsonResponse([
dict(zip(columns, row))
for row in cursor.fetchall()
], safe=False)
此API将以JSON格式输出查询结果。 链接到官方Django documentation