Score:1

ขาดการเชื่อมต่อฐานข้อมูลที่ไม่ได้ใช้งาน

ธง in

ฉันสามารถเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูล (Firebird) รันการสืบค้น ทุกสิ่งที่สนุกสนาน แต่หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง การพยายามสืบค้นครั้งต่อไปทำให้เกิดข้อผิดพลาดต่อไปนี้

ไม่สามารถดำเนินการตามคำขอของเครือข่ายเพื่อโฮสต์ "XX.XX.XX.XX"
เกิดข้อผิดพลาดในการเขียนข้อมูลไปยังการเชื่อมต่อ
การเชื่อมต่อที่มีอยู่ถูกบังคับให้ปิดโดยโฮสต์ระยะไกล .

ข้อผิดพลาด SQL (รหัส = -902):
การดำเนินการไม่สำเร็จเกิดจากข้อผิดพลาดของระบบที่ขัดขวาง
ประสบความสำเร็จในการดำเนินการตามคำสั่งที่ตามมา

เมื่อใช้งานแบบโต้ตอบโดยใช้ Firebird Maestro (ไม่ทราบความเกี่ยวข้อง) หลังจากที่ฉันได้รับข้อผิดพลาดนี้ ฉันจะบอก Maestro ให้ยกเลิกการเชื่อมต่อ ฉันสามารถเรียกใช้แบบสอบถามได้

ฉันไม่รู้ว่าการหมดเวลามาจาก Firebird หรือเซิร์ฟเวอร์ Linux หรือที่อื่นๆ บนเครือข่ายของเราหรือไม่ และฉันไม่รู้เกี่ยวกับ Linux หรือ AWS หรือเครือข่ายของเรามากพอที่จะรู้ว่าจะหาความเป็นไปได้ได้จากที่ใด (ความสุขของการเป็นโปรแกรมเมอร์ในบริษัทเล็กๆ)

sk flag
ฉันไม่คุ้นเคยกับ Firebird มากนัก และคุณไม่ได้ระบุว่าข้อผิดพลาดมาจากโปรแกรม/ภาษาใด แต่คุณอาจต้องเปิดใช้งาน KeepAlives ในการตั้งค่า/การกำหนดค่าการเชื่อมต่อ (เช่น เมื่อซอฟต์แวร์ไคลเอนต์ของคุณทำการเชื่อมต่อ ระบุ Keepalives)
WeststarEric avatar
in flag
@ChrisS ดังนั้นคุณกำลังแนะนำว่าฉันควรเพิกเฉยส่วนที่เกี่ยวกับ "บังคับให้ปิดโดยโฮสต์ระยะไกล" และพยายามแทนที่พฤติกรรมที่ส่วนท้ายของไคลเอนต์หรือไม่ น่าเสียดายที่เข้าใจวิธีการทำงานของ Maestro หรือเครื่องมือเขียนโปรแกรมของฉัน และฉันคิดว่านั่นไม่ใช่หัวข้อสำหรับฟอรัมนี้
Score:0
ธง ae

ไม่ว่าระยะหมดเวลาจะมาจากไหน คุณควรเตรียมพร้อมสำหรับมัน เป็นไปได้ว่ามีการหมดเวลาหลายครั้งและการเชื่อมต่อของคุณจะถูกยกเลิกหลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง

วิธีที่ดีที่สุดคือใช้ไลบรารีการรวมการเชื่อมต่อและระบุการหมดเวลาให้สั้นกว่าที่คุณสังเกตเห็นในตอนนี้ (เว้นแต่จะต่ำจนยอมรับไม่ได้)

อาจช่วยได้หากคุณอธิบายการปรับใช้โดยละเอียด แต่ฉันคิดว่าท้ายที่สุดแล้ว คุณต้องแก้ไขฝั่งไคลเอ็นต์

WeststarEric avatar
in flag
ฉันสามารถดูว่ากลุ่มการเชื่อมต่อจะทำให้การเชื่อมต่อหยุดทำงานได้อย่างไรหากมีผู้ใช้พร้อมกันจำนวนมาก ในกรณีที่มีผู้ใช้เพียงรายเดียว ฉันต้องการทราบว่าอะไรเป็นสาเหตุของการตัดการเชื่อมต่อ เพื่อให้ฉันสามารถควบคุมระยะเวลาการหมดเวลาได้
ae flag
คุณไม่ได้บอกเรามากนักเกี่ยวกับการทำให้ใช้งานได้ ดังนั้นจึงไม่ง่ายเลยที่จะให้คำแนะนำเกี่ยวกับเรื่องนี้ การรวมการเชื่อมต่อเหมาะสมแม้ว่าคุณจะมีผู้ใช้เพียงคนเดียว ฉันแนะนำ HikariCP: https://github.com/brettwooldridge/HikariCP#microscope-analyses - การกำหนดค่าการหมดเวลาอาจน่าสนใจเช่นกัน: https://github.com/brettwooldridge/HikariCP#microscope-analyses
WeststarEric avatar
in flag
ขออภัย ฉันได้บอกคุณทุกสิ่งที่ฉันรู้เกี่ยวกับการปรับใช้ "ของฉัน" บริษัทเล็กๆ ผลประกอบการเยอะ ความรู้ไม่เยอะ ฉันหวังว่าจะได้คำแนะนำเกี่ยวกับสถานที่ที่จะดู
ae flag
คุณแน่ใจว่ารู้มากกว่านั้น คุณไม่ได้กล่าวถึงเฉพาะเจาะจงใดๆ เกี่ยวกับแอปพลิเคชันหรือเครื่องที่โฮสต์แอปและฐานข้อมูล อย่างไรก็ตาม คุณได้ตรวจสอบเอกสารของพวกเขาแล้วหรือยัง? https://firebirdsql.org/file/documentation/chunk/en/refdocs/fblangref40/fblangref40-management-timeouts.html

โพสต์คำตอบ

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