xorm连接mssql

go.mod

require (
    github.com/denisenkom/go-mssqldb v0.0.0-20200620013148-b91950f658ec
    xorm.io/xorm v1.0.2
)

main.go

package main

import (
    "flag"
    "fmt"
    "time"

    _ "github.com/denisenkom/go-mssqldb"
    "xorm.io/xorm"
)

type Park struct {
    ID   string `xorm:"Id"`
    Name string `xorm:"Name"`
}

var (
    debug         = flag.Bool("debug", true, "enable debugging")
    password      = flag.String("password", "123456", "the database password")
    port     *int = flag.Int("port", 1433, "the database port")
    server        = flag.String("server", "10.10.10.53", "the database server")
    user          = flag.String("user", "sa", "the database user")
)

func main() {

    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=ed;encrypt=disable", *server, *user, *password, *port)
    engine, err := xorm.NewEngine("mssql", connString)
    //控制台打印SQL语句

    if err != nil {
        fmt.Println(err)
        return
    }
    defer engine.Close()
    engine.SetConnMaxLifetime(120 * time.Second)
    engine.SetMaxOpenConns(16)
    engine.SetMaxIdleConns(8)

    err = engine.Ping()
    if err != nil {
        fmt.Println(err)
        return
    }
    var sv []Park
    engine.ShowSQL(true)

    // err = engine.SQL("SELECT TOP 1000 id,CardCname FROM Dt_CardType order by id asc").Find(&sv)
    engine.Find(&sv)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(len(sv))
}