ฉันมีรหัสที่เชื่อมต่อกับ Oracle DB ผ่านโมดูล cx_Oracle python เมื่อฉันเรียกใช้การสืบค้น การดำเนินการเสร็จสิ้น แต่ฉันเห็นข้อความ "subsciber -54320 การสร้างล้มเหลว" เขียนบนหน้าจอเมื่อล่ามปิดตัวลง จำนวนเฉพาะที่แสดงจะไม่เหมือนกันเสมอไป แต่มักจะสอดคล้องกันระหว่างการรันรหัสติดต่อกัน เมื่อสิ่งนี้เกิดขึ้น ฉันสังเกตเห็นว่าการดำเนินการค้นหาใช้เวลานานประมาณ 10 วินาที
น่าสนใจ ทุกครั้งที่ฉันทำ ไม่ เห็นข้อความนี้ และเมื่อสิ่งนี้เกิดขึ้น ข้อความค้นหาจะเร็วมาก ประมาณ 1 วินาทีหรือน้อยกว่านั้น ฉันสังเกตด้วยว่าหากฉันกด ctrl+c ในระหว่างการดำเนินการเมื่อสิ่งนี้เกิดขึ้น จะทำให้กระบวนการหยุดทำงานประมาณหนึ่งชั่วโมงและไม่ตอบสนองต่อสัญญาณขัดจังหวะอีกต่อไป
ฉันพบว่าพฤติกรรมนี้ไม่ขึ้นกับเนื้อหาคิวรีหรือตาราง/สคีมาที่ฉันกำลังสอบถาม
สิ่งเดียวที่ฉันพบเมื่อค้นหาวิธีแก้ปัญหาคือ หน้าสนับสนุน Oracle นี้แต่เป็นเพียงการอธิบายปัญหาและไม่ได้ให้วิธีแก้ไข
ฉันไม่ใช่ผู้ดูแลระบบ เป็นเพียงผู้ใช้ ดังนั้นหวังว่าจะมีวิธีแก้ปัญหาฝั่งไคลเอ็นต์
ตัวอย่างการทำงานขั้นต่ำ
นำเข้า cx_Oracle
ด้วย cx_Oracle.connect("user", "password", "dns") เป็น db:
พยายาม:
เคอร์เซอร์ = db.cursor()
สำหรับแถวใน cursor.execute("SELECT * FROM MYSCHEMA.MYTABLE"):
พิมพ์(แถว)
ในที่สุด:
เคอร์เซอร์. ปิด ()