12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package models
- import (
- _ "dm"
- dm "dmgorm2"
- "fmt"
- "gorm.io/gorm"
- "gorm.io/gorm/logger"
- "time"
- _ "github.com/go-sql-driver/mysql"
- )
- // 达梦数据库连接
- func initDm2(dsn, aliasName string, newLogger logger.Interface, dmSqlMap map[string]*gorm.DB, isDefault bool) {
- if dsn == `` {
- return
- }
- //dsn := "dm://SYSDBA:SYSDBA001@8.136.199.33:30236?schema=\"eta_master\""
- //dsn := "dm://ETA:Han6258199118%60@localhost:5236?schema=ECOLOGY_TARGET"
- db, err := gorm.Open(dm.Open(dsn), &gorm.Config{
- Logger: newLogger,
- })
- if err != nil {
- //global.LOG.Errorf("mysql 启动异常,数据库:default;Err:", err)
- panic(fmt.Errorf("mysql 启动异常,数据库:%s;Err:%s", aliasName, err))
- }
- //创建连接池
- sqlDB, err := db.DB()
- if err != nil {
- //global.LOG.Errorf("mysql 创建连接池失败,数据库:default;Err:", err)
- panic(fmt.Errorf("mysql 创建连接池失败,数据库:%s;Err:%s", aliasName, err))
- }
- dmSqlMap[aliasName] = db
- //默认数据库连接
- if isDefault {
- DEFAULT_DmSQL = db
- }
- // SetMaxIdleConns 设置空闲连接池中连接的最大数量
- sqlDB.SetMaxIdleConns(50)
- // SetMaxOpenConns 设置打开数据库连接的最大数量。
- sqlDB.SetMaxOpenConns(100)
- // SetConnMaxLifetime 设置了连接可复用的最大时间。
- sqlDB.SetConnMaxLifetime(10 * time.Minute)
- }
|