Score:0

django.db.utils.DatabaseError: ORA-12154: TNS: ไม่สามารถแก้ไขตัวระบุการเชื่อมต่อที่ระบุใน OCI

ธง ng
django.db.utils.DatabaseError: ORA-12154: TNS: ไม่สามารถแก้ไขตัวระบุการเชื่อมต่อที่ระบุ

ภายใน OCI ได้รับข้อผิดพลาดซ้ำ ๆ ในการเชื่อมต่อฐานข้อมูล ADW (คลังฐานข้อมูลอิสระ 19c) เพื่อปรับใช้โครงการ Django ในโครงสร้างพื้นฐานคลาวด์ของ Oracle

 ชื่อ -a
Linux instance-20210913-1957 5.4.17-2102.204.4.4.el7uek.x86_64 #2 SMP อ. 17 ส.ค. 20:25:28 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux

pip แช่แข็ง
asgiref=3.4.1
cx-Oracle==8.0.0
จังโก้==3.2.7
pytz==2021.1
sqlparse==0.4.2
การพิมพ์ส่วนขยาย==3.10.0.2

ฉันได้คลายซิปไฟล์กระเป๋าเงินภูมิภาคใน /usr/lib/oracle/21/client64/lib/network/admin

stings.py ของฉัน

ฐานข้อมูล={
    'ค่าเริ่มต้น':
    {
    'เครื่องยนต์':'django.db.backends.oracle',
    'NAME':'potatodbname',
    'ผู้ใช้':'ผู้ดูแลระบบ'
    'PASSWORD':'wieredpassword',#กรุณาระบุรหัสผ่าน db ที่นี่
    }
}

ข้อผิดพลาดที่สมบูรณ์:

 หลาม Manage.py โยกย้าย
Traceback (การโทรครั้งล่าสุดล่าสุด):
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", บรรทัด 219, ใน sure_connection
    self.connect()
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py" บรรทัดที่ 26 ด้านใน
    return func(*args, **kwargs)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", บรรทัด 200 ในการเชื่อมต่อ
    self.connection = self.get_new_connection(conn_params)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py" บรรทัดที่ 26 ด้านใน
    return func(*args, **kwargs)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/oracle/base.py", บรรทัด 233 ใน get_new_connection
    **conn_params,
cx_Oracle.DatabaseError: ORA-12154: TNS: ไม่สามารถแก้ไขตัวระบุการเชื่อมต่อที่ระบุ

ข้อยกเว้นข้างต้นเป็นสาเหตุโดยตรงของข้อยกเว้นต่อไปนี้:

Traceback (การโทรครั้งล่าสุดล่าสุด):
  ไฟล์ "manage.py" บรรทัดที่ 22 ใน <โมดูล>
    หลัก()
  ไฟล์ "manage.py" บรรทัดที่ 18 ในไฟล์หลัก
    execute_from_command_line (sys.argv)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/__init__.py", บรรทัด 419 ใน execute_from_command_line
    ยูทิลิตี้.ดำเนินการ ()
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/__init__.py", บรรทัด 413 ในการดำเนินการ
    self.fetch_command(คำสั่งย่อย).run_from_argv(self.argv)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/base.py", บรรทัด 354 ใน run_from_argv
    self.execute(*args, **cmd_options)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/base.py", บรรทัด 398 ในการดำเนินการ
    เอาต์พุต = self.handle(*args, **ตัวเลือก)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/base.py" บรรทัดที่ 89 ในห่อ
    res = handle_func(*args, **kwargs)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/core/management/commands/migrate.py", บรรทัด 92, ในที่จับ
    ตัวดำเนินการ = MigrationExecutor (การเชื่อมต่อ, self.migration_progress_callback)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/executor.py" บรรทัดที่ 18 ใน __init__
    self.loader = MigrationLoader (การเชื่อมต่อด้วยตนเอง)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/loader.py" บรรทัดที่ 53 ใน __init__
    self.build_graph()
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/loader.py", บรรทัด 220 ใน build_graph
    self.applied_migrations = เครื่องบันทึก.applied_migrations()
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/recorder.py", บรรทัด 77, ใน apply_migrations
    ถ้า self.has_table():
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/migrations/recorder.py", บรรทัด 55, ใน has_table
    ด้วย self.connection.cursor() เป็นเคอร์เซอร์:
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py" บรรทัดที่ 26 ด้านใน
    return func(*args, **kwargs)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", บรรทัด 259 ในเคอร์เซอร์
    กลับ self._cursor()
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", บรรทัด 235 ใน _cursor
    self.ensure_connection()
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py" บรรทัดที่ 26 ด้านใน
    return func(*args, **kwargs)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", บรรทัด 219, ใน sure_connection
    self.connect()
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/utils.py" บรรทัดที่ 90 ใน __exit__
    เพิ่ม dj_exc_value.with_traceback(traceback) จาก exc_value
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", บรรทัด 219, ใน sure_connection
    self.connect()
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py" บรรทัดที่ 26 ด้านใน
    return func(*args, **kwargs)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/base/base.py", บรรทัด 200 ในการเชื่อมต่อ
    self.connection = self.get_new_connection(conn_params)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/utils/asyncio.py" บรรทัดที่ 26 ด้านใน
    return func(*args, **kwargs)
  ไฟล์ "/var/www/cgi-bin/trydjango-dev/lib64/python3.6/site-packages/django/db/backends/oracle/base.py", บรรทัด 233 ใน get_new_connection
    **conn_params,
django.db.utils.DatabaseError: ORA-12154: TNS: ไม่สามารถแก้ไขตัวระบุการเชื่อมต่อที่ระบุ

ฉันพลาดอะไรไปถึงได้ข้อผิดพลาดนั้น

Score:0
ธง ng

แก้ไขใน settings.py :

ฐานข้อมูล={
    'ค่าเริ่มต้น':
    {
    'เครื่องยนต์':'django.db.backends.oracle',
    'NAME':'servicename', # ต้องเป็นชื่อบริการ เช่น dbname_high, dbname_low, dbname_medium เป็นต้น
    'ผู้ใช้':'ผู้ดูแลระบบ'
    'รหัสผ่าน':'bhouguspassword',# โปรดระบุรหัสผ่าน db ที่นี่ แต่อาจทำให้เกิดปัญหาหากคุณใช้ '@'
    }
}

เส้นทาง:

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

ฉันได้เปิดซิปกระเป๋าสตางค์ภายใน ?/เครือข่าย/ผู้ดูแลระบบ โฟลเดอร์และเปลี่ยนกลุ่ม poermission เป็น apache ด้วย chown -R :apache /usr/lib/oracle/21/ ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่า TNS_ADMIN, LD_LIBRARY_PATH อย่างถูกต้อง

หลาม Manage.py โยกย้าย

การดำเนินการที่จะดำเนินการ:
  ใช้การย้ายข้อมูลทั้งหมด: admin, auth, contenttypes, sessions
กำลังเรียกใช้การย้ายข้อมูล:
  กำลังใช้ contenttypes.0001_initial... ตกลง
  กำลังใช้ auth.0001_initial... ตกลง
  กำลังสมัคร admin.0001_initial... ตกลง
  กำลังใช้ admin.0002_logentry_remove_auto_add... ตกลง
  กำลังใช้ admin.0003_logentry_add_action_flag_choices... ตกลง
  กำลังใช้ contenttypes.0002_remove_content_type_name... ตกลง
  กำลังใช้ auth.0002_alter_permission_name_max_length... ตกลง
  กำลังใช้ auth.0003_alter_user_email_max_length... ตกลง
  กำลังใช้ auth.0004_alter_user_username_opts... ตกลง
  กำลังใช้ auth.0005_alter_user_last_login_null... ตกลง
  กำลังใช้ auth.0006_require_contenttypes_0002... ตกลง
  กำลังใช้ auth.0007_alter_validators_add_error_messages... ตกลง
  กำลังใช้ auth.0008_alter_user_username_max_length... ตกลง
  กำลังใช้ auth.0009_alter_user_last_name_max_length... ตกลง
  กำลังใช้ auth.0010_alter_group_name_max_length... ตกลง
  กำลังใช้ auth.0011_update_proxy_permissions... ตกลง
  กำลังใช้ auth.0012_alter_user_first_name_max_length... ตกลง
  กำลังใช้ sessions.0001_initial... ตกลง

หากเปิดใช้งาน ACL ให้แก้ไขด้วย IP และ CIDR และ vcn ของคุณ

ขอบใจ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา