问题
How do I provide an MSSQL connection? It says it's always connected with the code. Even if the information is incorrect, it does not give errors.
package main
import (
"database/sql"
"fmt"
_ "github.com/denisenkom/go-mssqldb"
"log"
)
var server = "DESKTOP\\SQLEXPRESS"
var port = 1433
var user = "loginx"
var password = "1"
var database = "test"
var db *sql.DB
func main() {
var err error
connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;",
server, user, password, port, database)
fmt.Println(server, user, password, database)
conn, err := sql.Open("mssql", connString)
if err != nil {
log.Fatal("Open connection failed:", err.Error())
}
fmt.Printf("Connected!\n")
defer conn.Close()
}
回答1:
mssql
in Open() should be sqlserver
Try change this.
db, err = sql.Open("sqlserver", connString)
So your main() would look like..
var db *sql.DB
func main() {
var err error
// Create connection string
connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d",
server, user, password, port)
// Create connection pool
db, err = sql.Open("sqlserver", connString)
if err != nil {
log.Fatal("Error creating connection pool: " + err.Error())
}
log.Printf("Connected!\n")
// Close the database connection pool after program executes
defer db.Close()
}
来源:https://stackoverflow.com/questions/56411705/go-mssql-connection