更新:我现在收到“分配前已引用本地变量'conn_Oracle'”错误。如果有人可以提供有关如何解决此错误的反馈,那就太好了!
我的代码段:
try:
dsn_Oracle = cx_Oracle.makedsn(queryset.first().Host, queryset.first().Port, service_name = queryset.first().Database)
conn_Oracle = cx_Oracle.connect(queryset.first().UserID, queryset.first().Password, dsn_Oracle)
c = conn_Oracle.cursor()
except:
connected = False
self.message_user(request, "Failed to connect.")
else:
connected = True
self.message_user(request, "Successful connection!")
conn_Oracle.close()
test_connection.short_description = "Test connection to selected database"
大多数Oracle数据库通过“服务名称”进行访问,因此您可能需要这样做
dsn_Oracle = cx_Oracle.makedsn(queryset.first().Host, queryset.first().Port, service_name=queryset.first().Database)
这取决于您的数据库安装。
还要检查您使用的端口是否正确。
关于连接的很多cx_Oracle文档。检查手册章节Connecting to Oracle Database。