如何解决“无效的数据包大小,它比标头大小短”错误

我正在尝试连接到我的数据库。但出现以下错误:


2022/11/10 13:30:43 invalid packet size, it is shorter than header size


我的代码:


var server = "123.45.67.89"

var port = 3030

var user = "myUserId"

var password = "MyPassword"

var database = "myDB"


func main() {

    // Build connection string

    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;",

        server, user, password, port, database)


    var err error


    // Create connection pool

    db, err = sql.Open("sqlserver", connString)

    if err != nil {

        log.Fatal("Error creating connection pool: ", err.Error())

    }


    ctx := context.Background()

    err = db.PingContext(ctx)

    if err != nil {

        fmt.Println("Catching ERR")

        log.Fatal(err.Error())

    }

    fmt.Printf("Connected!\n")

}

在以下这一行中,它发现了一个错误:


err = db.PingContext(ctx)


有人知道吗,我该如何解决这个问题?请帮忙。


海绵宝宝撒
浏览 214回答 1
1回答

森栏

我尝试了另一种连接数据库的方法。它对我有用。package mainimport (    "database/sql"    "fmt"    _ "github.com/go-sql-driver/mysql")func main() {    fmt.Println("Golang: My Sql Connection Code:")    db, err := sql.Open("mysql", "userName:password@tcp(123.45.67.89:3030)/myDB")    if err != nil {        panic(err.Error())    }    defer db.Close()    fmt.Println("Connection Successful")    data, err := db.Query("select * from my_user_table")    if err != nil {        panic(err.Error())    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go