Попытка подключить базу данных oracle к приложению django с помощью файла wallet.zip
Я настраиваю свою базу данных Oracle на приложение django с помощью файла wallet.zip следующим образом. Примечание: Этот файл wallet.zip содержит файл tnsnames.ora.
В файле settings.py:
DATABASES = {
"oracledb": {
"ENGINE": "django.db.backends.oracle",
"NAME": "dummyemployee",
"USER": "dummyuser123",
"PASSWORD": "dummypass123",
"OPTIONS": {
"wallet_location": "C:\\Users\\Administrator\\Desktop\\Wallet_Location"
}
}
}
Но когда я пытаюсь выполнить API.
Выдает следующую ошибку: "wallet_location является недопустимым аргументом ключевого слова для этой функции"
Убедитесь, что у вас установлена последняя версия Django 5 и последняя версия python-oracledb:
python3 -m pip install Django oracledb --upgrade
Затем распакуйте zip-файл кошелька - он должен быть распакован. В примере ниже,
моя директория /Users/cjones/CJMTLS
содержит файлы:
-rw-r--r--@ 1 cjones staff 3029 22 Apr 00:07 README
-rw-r--r--@ 1 cjones staff 5349 22 Apr 00:07 cwallet.sso
-rw-r--r--@ 1 cjones staff 5304 22 Apr 00:07 ewallet.p12
-rw-r--r--@ 1 cjones staff 5710 22 Apr 00:07 ewallet.pem
-rw-r--r--@ 1 cjones staff 3192 22 Apr 00:07 keystore.jks
-rw-r--r--@ 1 cjones staff 691 22 Apr 00:07 ojdbc.properties
-rw-r--r--@ 1 cjones staff 114 22 Apr 00:07 sqlnet.ora
-rw-r--r--@ 1 cjones staff 768 22 Apr 00:07 tnsnames.ora
-rw-r--r--@ 1 cjones staff 2056 22 Apr 00:07 truststore.jks
Тогда ваши настройки Django будут выглядеть так:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'cjmtls_high',
'USER': 'admin',
'PASSWORD': 'xxxxxxxxxxxx',
'OPTIONS': {
"config_dir": "/Users/cjones/CJMTLS",
"wallet_location": "/Users/cjones/CJMTLS",
"wallet_password": "xxxxxxxxxx"
}
}
}
Обратите внимание, что для открытия PEM-файла необходимо ввести пароль кошелька.
Общую информацию см. в документе Подключение к автономным базам данных Oracle Cloud Autonomous Databases.