| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 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)
- if config.SerCfg.GetDebugMode() {
- // 将SQL写到日志文件
- logger := log.NewSimpleLogger(logger.GetLogWriter())
- Engine.SetLogger(logger)
- // 将SQL打印到Console
- Engine.ShowSQL(true)
- Engine.SetTableMapper(core.SameMapper{})
- } else {
- Engine.ShowSQL(false)
- }
- return nil
- }
- // GetEngine GetEngine
- func GetEngine() *xorm.Engine {
- return Engine
- }
- // Close Close
- func Close() {
- Engine.Close()
- }
|