我无法提供Mssql连接。怎么了?
无法从主机DESKTOP-A上的Sql Server Browser获取实例:读取udp [8c32%vEthernet(默认开关)]:55199-> [8c32%vEthernet(默认开关)]:1434:I / O超时>
import (
"database/sql"
"flag"
"fmt"
_ "github.com/denisenkom/go-mssqldb"
)
func main() {
var (
userid = flag.String("U", "loginx", "login_id")
password = flag.String("P", "1", "password")
server = flag.String("S", "DESKTOP-A\\SQLEXPRESS", "server_name[\\instance_name]")
database = flag.String("d", "test", "db_name")
)
flag.Parse()
dsn := "server=" + *server + ";user id=" + *userid + ";password=" + *password + ";database=" + *database
db, err := sql.Open("mssql", dsn)
if err != nil {
fmt.Println("Cannot connect: ", err.Error())
return
}
err = db.Ping()
if err != nil {
fmt.Println("Cannot connect: ", err.Error())
return
}
defer db.Close()
}
答案 0 :(得分:0)
您可以将sqlserver://user:pass@host:1433/instance?database=dbname
用作DSN。
答案 1 :(得分:0)
我想指出 Go 驱动程序使用的默认端口是 1434,这是 SQLServer 的 UDP 端口。但是,根据我的经验,默认情况下,服务器本身几乎从不使用该端口。因此,通过提供默认 TCP 端口 1433,它可以为我工作。