使用go-mssqldb遇到的问题

如果你遇到问题,最好的方法就是阅读官方文档。

关于go-mssqldb的使用,微软写了个很好的示例:Quickstart: Use Golang to query a database in Azure SQL Database or Azure SQL Managed Instance

下面编写了我使用go-mssqlddb使用遇到的问题和解决方法。

问题

1. Open connection failed:sql: unknown driver “mssql” (forgotten import?)

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

2. Query failed:read tcp 192.168.0.4:56417->192.168.0.12:1433: read: connection reset by peer

1
encrypt=disable

3. 调用存储过程报错 sql: expected 0 arguments, got 1

我使用的SQL Server版本是2008。
百度Google始终没有找到方法,最终在issue中找到了。所以有问题还是多看README、官方文档,以及issue中查找吧!

解决方法是Open时的参数driverName使用 sqlserver,而不是常看到的 mssql

4. converting argument $1 type: unsupported type []interface {}, a slice of interface

错误使用:

1
2
3
4
5
func f(query string, args ...interface{}) {
...
res, err := db.ExecContext(ctx, query, args)
...
}

正确使用:

1
2
3
4
5
func f(query string, args ...interface{}) {
...
res, err := db.ExecContext(ctx, query, args...)
...
}

使用go-mssqldb遇到的问题

https://ganzhixiong.com/p/df6ec4e3/

Author

干志雄

Posted on

2021-06-03

Updated on

2021-06-03

Licensed under

Comments