【发布时间】:2019-02-08 06:32:03
【问题描述】:
我想在 DBMS 上没有针对防火墙返回查询时返回。
首先,我设置代码
c, err := sql.Open("mysql",dbid+":"+dbps+"@tcp("+dbip[0]+":"+dbpt+")/"+dbnm+"?timeout=5s")
但是,不要那样做。
其次,我使用了上下文包中的函数。
ctx, cancel := content.WithTimeout(context.Background(), time.Second * 10)
ret, err := db.QueryContext(ctx, "Select * from aaaa")
它在 10 秒后捕获超时,但评估了错误消息
“没有到主机的路由”
我尝试再查询一次。
发送读写查询时如何编码评估超时?
【问题讨论】:
-
您的问题与超时完全无关。正如错误消息所说,问题在于没有通往主机的路由。无论您尝试连接到哪个数据库服务器,都无法访问。