go runtime_error ai_generated true

sql: 数据库已关闭

sql: database is closed

ID: go/sql-connection-pool-timeout

其他格式: JSON · Markdown 中文 · English
80%修复率
84%置信度
0证据数
2024-09-20首次发现

版本兼容性

版本状态引入弃用备注
1.17 active

根因分析

在调用db.Close()后继续使用数据库连接

English

在调用db.Close()后继续使用数据库连接

generic

解决方案

  1. 90% 成功率
    使用sync.Once确保Close只调用一次
  2. 80% 成功率
    在应用生命周期结束时才关闭数据库

无效尝试

常见但无效的做法:

  1. 60% 失败

    未同步可能导致多个连接实例

  2. 90% 失败

    导致后续操作全部失败