go - 为什么 'Open connection failed:sql: unknown driver "mssql“(忘记导入?)”会在 go build 中第一次发生?

标签 go

我第一次跑https://github.com/denisenkom/go-mssqldb/blob/master/examples/simple.go我收到错误“打开连接失败:sql:未知驱动程序“mssql”(忘记导入?)”

我通过更改解决了这个问题 导入_“github.com/denisenkom/go-mssqldb” 到 导入“github.com/denisenkom/go-mssqldb”

这给出了一个不同的错误“导入但未使用:“github.com/denisenkom/go-mssqldb”作为 mssql”。

但是......在改回 import _ "github.com/denisenkom/go-mssqldb"并再次构建后,第一个错误消失了。

出于某种原因,在编译之前,我还必须将主函数名称从“simplemain”更改为“main”。

为什么第一次构建时会出现“打开连接失败:sql:未知驱动程序“mssql”(忘记导入?)”错误?

最佳答案

预期的使用方式似乎是

import _ "github.com/denisenkom/go-mssqldb"

目的是运行包的 init() 函数

func init() {
sql.Register("mssql", &MssqlDriver{})
}

很可能是一些拼写错误导致了错误。

关于go - 为什么 'Open connection failed:sql: unknown driver "mssql“(忘记导入?)”会在 go build 中第一次发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39381968/

相关文章:

json - 如何在结构中定义多个名称标签

concurrency - GoLang教程中的死锁错误

去 float 零除法编译器错误

go - Sentry Go Integration,如何指定错误级别?

go - 代理处理函数中 []byte 的字符串表示形式

json - 使用 Go 解析复杂的 JSON

go - 无效的golang配置文件输出格式

go - 如何在 Golang 中导出为 CSV?

go - 计划程序将不会运行计划的作业

mongodb - $literal 在 Golang-mgo 中的用法