如何在Linux中使用GO连接到mssql数据库
问题描述:
我已经使用this教程创建并连接到了Linux上的sql服务器。如何在Linux中使用GO连接到mssql数据库
我正在使用golang和this驱动程序。 (https://github.com/denisenkom/go-mssqldb)
我在使用golang连接到数据库时遇到问题。我已经将用户指定为SA和密码。我也写在终端“主机名”,并得到主机名xxx。当我使用该信息进行连接时,出现500错误。
conn, err := sql.Open("mssql", "server=xxx; id=SA; password=mypass; database=testdb)
这是否正确?我是新手,所以也许我错过了一些明显的东西?
答
在Github example你可以看到它是如何工作的。 您可以按照这些步骤:
var (
server string = "localhost" // for example
user string = "userdb" // Database user
password string = "userpwd" // User Password
port int = 1433 // Database port
)
connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d", server, user, password, port)
conn, err := sql.Open("mssql", connString)
// Test if the connection is OK or not
if err != nil {
panic("Cannot connect to database")
} else {
fmt.Println("Connected!")
}
// Don't forget to close the connection to your database
defer conn.Close()
答
import "database/sql"
import _ "github.com/go-sql-driver/mysql"
db, err := sql.Open("mysql", "user:[email protected]/dbname")
像这样简单,你可以连接到你的数据库 你应该在你的代码添加驱动程序未使用的包,那么它的参数URI连接到数据库。 你可以查询这样的链接吹 https://golang.org/pkg/database/sql/#example_DB_Query
答
如果你有麻烦创建一个连接字符串,那么你可以随时让你的库来格式化您的连接字符串为您服务。
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
// OTHER STUFF
)
func main() {
cfg := mysql.Config{
User: "username",
Passwd: "password",
Net: "tcp",
Addr: "127.0.0.1:3306",
DBName: "database_name",
}
db, err := sql.Open("mysql", cfg.FormatDSN())
check(err)
// DO SOMETHING WITH db
}
func check(e error) {
if e != nil {
panic(e)
}
}
你能够从sqlcmd atleast连接吗? – TheGameiswar
@TheGameiswar是的,我是 – Samu
你能显示错误日志内容吗? 'cat/var/opt/mssql/log/errorlog',如果连接经过,您可能会看到一个条目。 –