Puncte:0

django.db.utils.DatabaseError: ORA-12154: TNS: nu a putut rezolva identificatorul de conectare specificat în OCI

drapel ng
django.db.utils.DatabaseError: ORA-12154: TNS: nu a putut rezolva identificatorul de conectare specificat

în cadrul OCI primirea în mod repetat a erorilor de conectare a bazei de date ADW (depozit autonom de baze de date 19c) pentru a implementa un proiect Django în infrastructura cloud Oracle

 uname -a
Linux instance-20210913-1957 5.4.17-2102.204.4.4.el7uek.x86_64 #2 SMP Mar 17 august 20:25:28 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux

sâmburi înghețați
asgiref==3.4.1
cx-Oracle==8.0.0
Django==3.2.7
pytz==2021.1
sqlparse==0.4.2
typing-extensions==3.10.0.2

Am un fișier portofel regional dezarhivat în /usr/lib/oracle/21/client64/lib/network/admin

setările mele.py

BAZE DE DATE={
    'Mod implicit':
    {
    „MOTOR”: „django.db.backends.oracle”,
    „NAME”: „potatodbname”,
    „USER”: „ADMIN”,
    'PASSWORD':'wieredpassword',#Vă rugăm să furnizați parola db aici
    }
}

eroare completa:

 python manage.py migrate
Traceback (cel mai recent apel ultimul):
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py”, rândul 219, în assure_connection
    self.connect()
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py”, linia 26, în interior
    return func(*args, **kwargs)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py”, linia 200, în connect
    self.connection = self.get_new_connection(conn_params)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py”, linia 26, în interior
    return func(*args, **kwargs)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/oracle/base.py”, rândul 233, în get_new_connection
    **conn_params,
cx_Oracle.DatabaseError: ORA-12154: TNS: nu a putut rezolva identificatorul de conectare specificat

Excepția de mai sus a fost cauza directă a următoarei excepții:

Traceback (cel mai recent apel ultimul):
  Fișierul „manage.py”, linia 22, în <modul>
    principal()
  Fișierul „manage.py”, rândul 18, în principal
    execute_from_command_line(sys.argv)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/__init__.py”, linia 419, în execute_from_command_line
    utility.execute()
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/__init__.py”, linia 413, în execuție
    self.fetch_command(subcomandă).run_from_argv(self.argv)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/base.py”, linia 354, în run_from_argv
    self.execute(*args, **cmd_options)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/base.py”, linia 398, în execuție
    output = self.handle(*args, **opțiuni)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/base.py”, rândul 89, împachetat
    res = handle_func(*args, **kwargs)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/commands/migrate.py”, linia 92, în handle
    executor = MigrationExecutor(conexiune, self.migration_progress_callback)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/executor.py”, rândul 18, în __init__
    self.loader = MigrationLoader(self.connection)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/loader.py”, rândul 53, în __init__
    self.build_graph()
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/loader.py”, rândul 220, în build_graph
    self.applied_migrations = recorder.applied_migrations()
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/recorder.py”, rândul 77, în apply_migrations
    if self.has_table():
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/recorder.py”, rândul 55, în has_table
    cu self.connection.cursor() ca cursor:
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py”, linia 26, în interior
    return func(*args, **kwargs)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py”, linia 259, în cursor
    return self._cursor()
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py”, linia 235, în _cursor
    self.ensure_connection()
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py”, linia 26, în interior
    return func(*args, **kwargs)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py”, rândul 219, în assure_connection
    self.connect()
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/utils.py”, linia 90, în __exit__
    ridicați dj_exc_value.with_traceback(traceback) de la exc_value
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py”, rândul 219, în assure_connection
    self.connect()
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py”, linia 26, în interior
    return func(*args, **kwargs)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py”, linia 200, în connect
    self.connection = self.get_new_connection(conn_params)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py”, linia 26, în interior
    return func(*args, **kwargs)
  Fișierul „/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/oracle/base.py”, rândul 233, în get_new_connection
    **conn_params,
django.db.utils.DatabaseError: ORA-12154: TNS: nu a putut rezolva identificatorul de conectare specificat

ce mi-a omis pentru a primi eroarea asta?

Puncte:0
drapel ng

remediere în settings.py:

BAZE DE DATE={
    'Mod implicit':
    {
    „MOTOR”: „django.db.backends.oracle”,
    „NUME”: „nume serviciu”, # trebuie să fie numele serviciului, de ex. dbname_high, dbname_low, dbname_medium etc.
    „USER”: „ADMIN”,
    'PASSWORD':'bhouguspassword',#Vă rugăm să furnizați parola db aici, dar poate cauza probleme dacă utilizați „@”
    }
}

cale:

ls -lart /usr/lib/oracle/21/

Am desfăcut portofelul înăuntru ?/network/admin folder și a schimbat permisiunea de grup în apache cu chown -R :apache /usr/lib/oracle/21/ asigurați-vă că aveți o configurație corectă TNS_ADMIN, LD_LIBRARY_PATH

python manage.py migrate

Operatii de efectuat:
  Aplicați toate migrările: admin, auth, contenttypes, sesiuni
Executarea migrațiilor:
  Se aplică tipurile de conținut.0001_inițial... OK
  Se aplică auth.0001_initial... OK
  Se aplică admin.0001_inițial... OK
  Se aplică admin.0002_logentry_remove_auto_add... OK
  Se aplică admin.0003_logentry_add_action_flag_choices... OK
  Se aplică tipurile de conținut.0002_remove_content_type_name... OK
  Se aplică auth.0002_alter_permission_name_max_length... OK
  Se aplică auth.0003_alter_user_email_max_length... OK
  Se aplică auth.0004_alter_user_username_opts... OK
  Se aplică auth.0005_alter_user_last_login_null... OK
  Se aplică auth.0006_require_contenttypes_0002... OK
  Se aplică auth.0007_alter_validators_add_error_messages... OK
  Se aplică auth.0008_alter_user_username_max_length... OK
  Se aplică auth.0009_alter_user_last_name_max_length... OK
  Se aplică auth.0010_alter_group_name_max_length... OK
  Se aplică auth.0011_update_proxy_permissions... OK
  Se aplică auth.0012_alter_user_first_name_max_length... OK
  Se aplică sesiuni.0001_inițial... OK

dacă ACL este activat, editați cu IP-ul dvs. și CIDR și vcn

Mulțumiri

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.