我正在尝试使用golang的数据库/ sql包连接到Microsoft SQL Server数据库。
https://code.google.com/p/go-wiki/wiki/SQLDrivers没有列出特定于MSSQL的驱动程序,所以我想我会尝试使用odbc驱动程序。
我尝试了https://github.com/weigj/go-odbc但是当我运行go install
时,我收到了
cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
。这在github repo中列为未解决的问题。
有没有人有从64位Windows 7客户端连接到MSSQL数据库的经验?建议使用哪种odbc驱动程序?
答案 0 :(得分:9)
现在,github上的数据库驱动程序列表SQL database drivers上有一个Microsoft SQL Server特定的驱动程序,带有一个纯Go包https://github.com/denisenkom/go-mssqldb
您可以尝试go-mssqldb
直接连接mssql
。
import
可能如下所示:
import (
"fmt"
"log"
"database/sql"
_ "github.com/denisenkom/go-mssqldb" // the underscore indicates the package is used
)
sql.Open()
看起来像:
// the user needs to be setup in SQL Server as an SQL Server user.
// see create login and the create user SQL commands as well as the
// SQL Server Management Studio documentation to turn on Hybrid Authentication
// which allows both Windows Authentication and SQL Server Authentication.
// also need to grant to the user the proper access permissions.
// also need to enable TCP protocol in SQL Server Configuration Manager.
condb, errdb := sql.Open("mssql", "server=localhost;user id=gouser;password=g0us3r;")
if errdb != nil {
fmt.Println(" Error open db:", errdb.Error())
}
defer condb.Close()
我正在使用它,现在还可以。
答案 1 :(得分:7)
请尝试使用此ODBC驱动程序,我相信它使用得更广泛:https://code.google.com/p/odbc/