Điểm:0

django.db.utils.DatabaseError: ORA-12154: TNS: không thể giải quyết mã định danh kết nối được chỉ định trong OCI

lá cờ ng
django.db.utils.DatabaseError: ORA-12154: TNS: không thể giải quyết mã định danh kết nối được chỉ định

trong OCI liên tục nhận được lỗi kết nối cơ sở dữ liệu ADW (kho cơ sở dữ liệu tự trị 19c) để triển khai dự án Django trong cơ sở hạ tầng đám mây tiên tri

 tên -a
Phiên bản Linux-20210913-1957 5.4.17-2102.204.4.4.el7uek.x86_64 #2 SMP Thứ ba ngày 17 tháng 8 20:25:28 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux

đóng băng pip
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

Tôi đã giải nén tệp ví khu vực trong /usr/lib/oracle/21/client64/lib/network/admin

stings.py của tôi

CƠ SỞ DỮ LIỆU={
    'mặc định':
    {
    'ENGINE':'django.db.backends.oracle',
    'NAME':'potatodbname',
    'NGƯỜI DÙNG':'QUẢN TRỊ',
    'PASSWORD':'wieredpassword',#Vui lòng cung cấp mật khẩu db tại đây
    }
}

hoàn thành lỗi:

 python manage.py di chuyển
Traceback (cuộc gọi gần đây nhất cuối cùng):
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", dòng 219, trong ensure_connection
    self.connect()
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py", dòng 26, trong
    hàm trả về(*args, **kwargs)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", dòng 200, trong kết nối
    self.connection = self.get_new_connection(conn_params)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py", dòng 26, trong
    hàm trả về(*args, **kwargs)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/oracle/base.py", dòng 233, trong get_new_connection
    **conn_params,
cx_Oracle.DatabaseError: ORA-12154: TNS: không thể giải quyết mã định danh kết nối được chỉ định

Ngoại lệ trên là nguyên nhân trực tiếp của ngoại lệ sau:

Traceback (cuộc gọi gần đây nhất cuối cùng):
  Tệp "manage.py", dòng 22, trong <module>
    chủ yếu()
  Tệp "manage.py", dòng 18, trong phần chính
    exec_from_command_line(sys.argv)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/manager/__init__.py", dòng 419, trong exec_from_command_line
    tiện ích.execute()
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/manager/__init__.py", dòng 413, đang thực thi
    self.fetch_command(lệnh phụ).run_from_argv(self.argv)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/manager/base.py", dòng 354, trong run_from_argv
    self.execute(*args, **cmd_options)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/manager/base.py", dòng 398, đang thực thi
    đầu ra = self.handle(*args, **options)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/manager/base.py", dòng 89, trong gói
    res = handle_func(*args, **kwargs)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/manager/commands/migrate.py", dòng 92, trong xử lý
    người thi hành = MigrationExecutor(kết nối, self.migration_progress_callback)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/executor.py", dòng 18, trong __init__
    self.loader = MigrationLoader(self.connection)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/loader.py", dòng 53, trong __init__
    self.build_graph()
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/loader.py", dòng 220, trong build_graph
    self.applied_migrations = recorder.applied_migrations()
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/recorder.py", dòng 77, trong application_migrations
    nếu self.has_table():
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/recorder.py", dòng 55, trong has_table
    với self.connection.cursor() làm con trỏ:
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py", dòng 26, trong
    hàm trả về(*args, **kwargs)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", dòng 259, trong con trỏ
    trả về self._cursor()
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", dòng 235, trong _cursor
    self.ensure_connection()
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py", dòng 26, trong
    hàm trả về(*args, **kwargs)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", dòng 219, trong ensure_connection
    self.connect()
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/utils.py", dòng 90, trong __exit__
    tăng dj_exc_value.with_traceback(traceback) từ exc_value
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", dòng 219, trong ensure_connection
    self.connect()
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py", dòng 26, trong
    hàm trả về(*args, **kwargs)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", dòng 200, trong kết nối
    self.connection = self.get_new_connection(conn_params)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py", dòng 26, trong
    hàm trả về(*args, **kwargs)
  Tệp "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/oracle/base.py", dòng 233, trong get_new_connection
    **conn_params,
django.db.utils.DatabaseError: ORA-12154: TNS: không thể giải quyết mã định danh kết nối được chỉ định

tôi đã bỏ lỡ điều gì để nhận được lỗi đó?

Điểm:0
lá cờ ng

sửa lỗi trong settings.py :

CƠ SỞ DỮ LIỆU={
    'mặc định':
    {
    'ENGINE':'django.db.backends.oracle',
    'NAME':'tên dịch vụ', # phải là tên dịch vụ, vd. dbname_high,dbname_low,dbname_medium, v.v.
    'NGƯỜI DÙNG':'QUẢN TRỊ',
    'PASSWORD':'bhouguspassword',#Vui lòng cung cấp mật khẩu db tại đây nhưng nó có thể gây ra sự cố nếu bạn đang sử dụng '@'
    }
}

con đường:

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

Tôi đã giải nén ví trong ?/mạng/quản trị viên thư mục và thay đổi quyền nhóm thành apache với chown -R : apache /usr/lib/oracle/21/ đảm bảo bạn đã thiết lập TNS_ADMIN, LD_LIBRARY_PATH đúng cách

python manage.py di chuyển

Các thao tác thực hiện:
  Áp dụng tất cả các lần di chuyển: quản trị viên, auth, kiểu nội dung, phiên
Chạy di chuyển:
  Áp dụng contenttypes.0001_initial... OK
  Áp dụng auth.0001_initial... OK
  Áp dụng admin.0001_initial... OK
  Áp dụng admin.0002_logentry_remove_auto_add... OK
  Áp dụng admin.0003_logentry_add_action_flag_choices... OK
  Áp dụng contenttypes.0002_remove_content_type_name... OK
  Áp dụng auth.0002_alter_permission_name_max_length... OK
  Áp dụng auth.0003_alter_user_email_max_length... OK
  Áp dụng auth.0004_alter_user_username_opts... OK
  Áp dụng auth.0005_alter_user_last_login_null... OK
  Áp dụng auth.0006_require_contenttypes_0002... OK
  Áp dụng auth.0007_alter_validators_add_error_messages... OK
  Áp dụng auth.0008_alter_user_username_max_length... OK
  Áp dụng auth.0009_alter_user_last_name_max_length... OK
  Áp dụng auth.0010_alter_group_name_max_length... OK
  Áp dụng auth.0011_update_proxy_permissions... OK
  Áp dụng auth.0012_alter_user_first_name_max_length... OK
  Áp dụng phiên.0001_initial... OK

nếu ACL được bật thì hãy chỉnh sửa bằng IP và CIDR và ​​vcn của bạn

cảm ơn

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.