go-mssql设置连接超时

时间:2018-03-19 14:17:18

标签: sql-server go

我在go-mssqldb

中设置超时时遇到问题

这是我当前的连接字符串:

sqlserver://user:password@server?timeout=1m30s

我可以连接正常,运行查询等但我保持超时默认值30秒。 我引用了文档here

我错过了什么?

import (
    "database/sql"
    _ "github.com/denisenkom/go-mssqldb"
)

func main(){
    db, err := sql.Open("mssql", "sqlserver://user:password@server?timeout=1m30s")
    if err != nil{
        panic(err)
    }

    _, err = db.Exec("run query that takes longer than 30 seconds")
    if err != nil{
         panic(err)
    }
    // panic at 30 seconds...
    // panic: read tcp {my ip}->{server ip}: i/o timeout

}

1 个答案:

答案 0 :(得分:0)

我最初引用了错误的文档。要格式化网址,请参阅以下内容:

"sqlserver://user:password@server?connection+timeout=90"
相关问题