Powinieneś zmienić HOST
na localhost' or '127.0.0.1
a SID to NAME
.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'xe',
'USER': 'system',
'PASSWORD': 'oracle',
'HOST':'127.0.0.1',
'PORT':'1521'
}
}
Na przyszłość, jeśli Oracle jest skonfigurowany z nazwą usługi zamiast SID, konfiguracja będzie wyglądać następująco:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': '127.0.0.1:1521/service.name',
'USER': 'system',
'PASSWORD': 'oracle',
}
}
Kolejną rzeczą do rozważenia podczas pracy z Oracle w Django jest to, że kiedy łączysz się z bazą danych innych użytkowników (schema), musisz ustawić db_table
Opcja Meta w modelach Django:
class OracleTable(models.Model):
... fields ...
class Meta:
db_table = '\"OTHERUSER\".\"ORACLETABLE\"'