当我使用 VPN 连接到数据库(使用标准 go sql 库)并且 VPN 接口关闭时,当我尝试执行 SQL 查询时,无论接口是否同时打开,都会出现 75 秒超时。我想将此超时减少到某个合理的时间,这样在这种情况下我的应用程序就不会被冻结 75 秒。
db, err := sql.Open(driverName, dataSourceName)
是否可以通过某种方式设置它db
多变的?
The database/sql
包没有提供一个通用的方法来超时调用database/sql.Open
。但是,各个驱动程序通过 DSN (dataSourceName) 连接字符串提供此功能。
https://github.com/lib/pq https://github.com/lib/pq
sql.Open("postgres", "user=user dbname=dbname connect_timeout=5")
https://github.com/go-sql-driver/mysql https://github.com/go-sql-driver/mysql
sql.Open("mysql", "user:password@/dbname?timeout=5s")
https://github.com/denisenkom/go-mssqldb https://github.com/denisenkom/go-mssqldb
sql.Open("sqlserver", "sqlserver://username:password@host/instance?dial+timeout=5")
etc ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)