数据库操作
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
985 B

3 years ago
  1. package dbquery
  2. import (
  3. "database/sql"
  4. "errors"
  5. "fmt"
  6. "log"
  7. "time"
  8. _ "github.com/denisenkom/go-mssqldb"
  9. )
  10. var MSDB_CONN *sql.DB
  11. func MSConnect(DBHOST, DBUSER, DBPWD, DBNAME, DBPORT string, conns ...int) error {
  12. log.Println("msdb connectting...")
  13. var dbConnErr error
  14. if DBHOST != "" && DBUSER != "" && DBPWD != "" && DBPORT != "" { //&& DBNAME != ""
  15. for i := 0; i < 10; i++ {
  16. //连接字符串
  17. connString := fmt.Sprintf("server=%s;port%d;database=%s;user id=%s;password=%s", DBHOST, DBPORT, DBNAME, DBUSER, DBPWD)
  18. log.Println(connString)
  19. //建立连接
  20. MSDB_CONN, dbConnErr = sql.Open("mssql", connString)
  21. if dbConnErr != nil {
  22. log.Println("ERROR", "can not connect to Database, ", dbConnErr)
  23. time.Sleep(time.Second * 5)
  24. } else {
  25. log.Println("msdb connected")
  26. break
  27. }
  28. }
  29. } else {
  30. return errors.New("msdb connection params errors")
  31. }
  32. return dbConnErr
  33. }
  34. func CloseMSConn() error {
  35. return MSDB_CONN.Close()
  36. }