数据库操作
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.

55 lines
968 B

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