我使用this教程创建并连接到Linux上的sql server。
我正在使用golang和this驱动程序。 (https://github.com/denisenkom/go-mssqldb)
我在使用golang连接数据库时遇到问题。我已将用户指定为SA和密码。我还在终端“hostname”中写了并获得了主机名xxx。当我使用该信息进行连接时,我收到500错误。
conn, err := sql.Open("mssql", "server=xxx; id=SA; password=mypass; database=testdb)
这看起来是否正确?我是新手,所以也许我错过了一些明显的东西?
答案 0 :(得分:0)
在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()
答案 1 :(得分:0)
import "database/sql"
import _ "github.com/go-sql-driver/mysql"
db, err := sql.Open("mysql", "user:password@/dbname")
就这么简单,您可以连接到您的数据库 您应该在代码中添加驱动程序作为未使用的包,然后它具有连接到DB的参数URI。 你可以查询这个链接打击 https://golang.org/pkg/database/sql/#example_DB_Query
答案 2 :(得分:0)
如果您在创建连接字符串时遇到麻烦,那么您可以随时让您的库为您格式化连接字符串。
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)
}
}