Django 쿼리 실행에서 InterfaceError(0, '') 발생
Django 사용자에게 지속적인 "InterfaceError(0, '')가 발생할 수 있습니다. 특히 서버를 다시 시작한 후 데이터베이스 작업을 시도할 때 " 오류가 발생했습니다. 이 오류는 전역 커서 사용으로 인해 발생합니다.
근본 원인:
전역 커서는 이름에서 알 수 있듯이 여러 데이터베이스에 걸쳐 열려 있는 데이터베이스에 대한 지속적인 연결입니다. 운영. 그러나 Django가 자주 사용하는 기본 데이터베이스인 MySQL에는 전역 커서 관련 문제가 있으며 서버 부하가 보통 수준일 때 InterfaceError가 발생할 수 있습니다.
해결 방법:
문제를 해결하려면 원시 쿼리 실행이 필요한 각 메서드 내에서 커서 만들기 및 닫기로 전환하세요. 이렇게 하면 특정 작업 중에만 커서가 열리므로 전역 커서로 인해 MySQL이 불편해지는 것을 방지할 수 있습니다.
구현:
다음 코드 조각을 구현하십시오.
cursor = connection.cursor()
cursor.execute(query)
cursor.close()
쿼리를 실행하려는 원시 SQL 쿼리로 바꿉니다. 이 접근 방식을 활용하면 쿼리가 실행된 후 즉시 커서를 닫을 수 있으므로 전역 커서의 사용이 제거되고 InterfaceError가 해결됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3