必须先安装github.com/denisenkom/go-mssqldb驱动,再用xorm.NewEngine("mssql", connString)创建引擎并调用Ping()验证连接;否则会因unknown driver "mssql"或连接拒绝等错误失败。

要在Go项目中用XORM连接SQL Server数据库,必须先安装专用驱动并验证能否成功建立连接,否则NewEngine会因缺少驱动而panic或返回空引擎。
安装SQL Server驱动
在项目根目录执行以下命令安装Microsoft官方维护的SQL Server驱动:
go get github.com/denisenkom/go-mssqldb
这一步不可跳过,XORM不自带SQL Server支持;若只装xorm.io/xorm而未装此驱动,后续NewEngine将无法识别"mssql"类型,直接报错unknown driver "mssql"。
编写连接验证代码
创建main.go文件,填入以下内容:
package main
import (
"fmt"
"log"
_"github.com/denisenkom/go-mssqldb"
"xorm.io/xorm"
)
func main() {
connString := "server=127.0.0.1;user id=sa;password=YourStrong@Passw0rd;database=testdb;encrypt=disable"
engine, err := xorm.NewEngine("mssql", connString)
if err != nil {
log.Fatal("引擎创建失败:", err)
}
defer engine.Close()
err = engine.Ping()
if err != nil {
log.Fatal("数据库连接测试失败:", err)
}
fmt.Println("SQL Server连接验证通过")
}
注意:连接字符串中encrypt=disable是本地开发常用配置,生产环境应启用加密并配置证书;若SQL Server启用了强制加密(如TLS),此处不加该参数会导致连接被拒绝。
运行并确认输出
执行命令:
go run main.go
终端输出SQL Server连接验证通过即表示驱动已正确安装、连接参数无误、SQL Server实例可访问。
如果报错login error: dial tcp 127.0.0.1:1433: connect: connection refused,说明SQL Server服务未启动或监听端口不是默认1433;若提示login failed for user 'sa',需检查SQL Server是否启用混合认证模式,并确认sa账户已启用且密码正确。



















