在名为 dbutil 的单独程序包中使用 go-sql-driver 与 mysql 和 gorp 时,我收到以下错误错误 1045: Access denied for user 'root'@'localhost' (using password: NO)
package dbutil
import (
"cropz/structs"
"database/sql"
"github.com/coopernurse/gorp"
_ "github.com/go-sql-driver/mysql"
"log"
)
func InitDB() *gorp.DbMap {
// connect to db
db, err := sql.Open("mysql", "root:pass@tcp(127.0.0.1:3306)/jsl")
defer db.Close()
err = db.Ping()
checkErr(err, "Ping failed")
// construct a gorp DbMap
dbmap := &gorp.DbMap{Db: db, Dialect: gorp.MySQLDialect{"InnoDB", "UTF8"}}
return dbmap
}
package main
func main() {
dbmap := dbutil.InitDB()
err := dbmap.Db.Ping()
checkErr(err, "Ping failed")
}
如果我在主包中有 initDB() 函数,它就可以正常工作。
只有在单独的包中与 martini 框架和 dbutil 一起使用时才会发生这种情况。使用 martini 框架并在同一个包中它仍然有效。
我使用的是 Windows,MySQL-5.0.22。请帮忙。
慕斯王
至尊宝的传说
相关分类