| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package db
- import (
- "fmt"
- "mtp2_if/config"
- "mtp2_if/logger"
- "github.com/xormplus/core"
- "github.com/xormplus/xorm"
- "github.com/xormplus/xorm/log"
- )
- //var driverName = "oci8"
- //var dataSourceName = "mtp2_test18/muchinfo@192.168.31.117:1521/orcl"
- // Engine DB Engine
- var Engine *xorm.Engine
- // InitDbEngine 创建数据库驱动
- func InitDbEngine() error {
- driverName := config.SerCfg.GetDbDriver()
- dataSourceName := config.SerCfg.GetDbSource()
- var err error
- Engine, err = xorm.NewOracle(driverName, dataSourceName)
- if err != nil {
- fmt.Println("create db engine failed:", err)
- return err
- }
- // 解决oracle插入时间格式不正确的问题
- // https://github.com/go-xorm/xorm/issues/799
- // Engine, err = xorm.NewOracle(driverName, dataSourceName)
- // if err != nil {
- // fmt.Println("create db engine failed:", err)
- // return err
- // }
- // var p godror.ConnectionParams
- // p.Username, p.Password = "mtp2_test202", godror.NewPassword("muchinfo")
- // p.ConnectString = dataSourceName
- // p.SetSessionParamOnInit("NLS_DATE_FORMAT", "yyyy-mm-dd hh24:mi:ss")
- // // ctr := godror.NewConnector(p)
- // // Engine.DB().DB = sql.OpenDB(ctr)
- // db := sql.OpenDB(godror.NewConnector(p))
- // Engine.DB().DB = db
- Engine.SetMaxIdleConns(10)
- Engine.SetMaxOpenConns(100)
- // 将SQL写到日志文件
- logger := log.NewSimpleLogger(logger.GetLogWriter())
- Engine.SetLogger(logger)
- // 将SQL打印到Console
- Engine.ShowSQL(true)
- Engine.SetTableMapper(core.SameMapper{})
- return nil
- }
- // GetEngine GetEngine
- func GetEngine() *xorm.Engine {
- return Engine
- }
- // Close Close
- func Close() {
- Engine.Close()
- }
|