9

我正在尝试使用 golang 的 database/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 存储库中被列为未解决的问题。

有没有人有从 64 位 Windows 7 客户端连接到 MSSQL 数据库的经验?推荐哪个odbc驱动?

4

2 回答 2

9

现在,数据库驱动程序列表中有一个 Microsoft SQL Server 特定驱动程序 github 中的SQL 数据库驱动程序带有纯 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()

我正在使用它,现在还可以。

于 2014-04-25T03:44:34.780 回答
7

尝试改用这个 ODBC 驱动程序,我相信它使用更广泛:https ://code.google.com/p/odbc/

于 2013-06-21T18:08:10.053 回答