Skip to content

godoes/gorm-dameng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GORM DM8 Driver

基于达梦数据库官方 Go 驱动源码 二次开发整理的开箱即用的 GORM 达梦数据库驱动,无需单独复制驱动源码到项目中。 获取达梦最新官方 Go 驱动请访问 https://eco.dameng.com/download/

最低要求

快速上手

安装

go get -d github.com/godoes/gorm-dameng

用例

package main

import (
	"encoding/json"
	"fmt"

	"github.com/godoes/gorm-dameng"
	"gorm.io/gorm"
)

func main() {
	options := map[string]string{
		"schema":         "SYSDBA",
		"appName":        "GORM 连接达梦数据库示例",
		"connectTimeout": "30000",
	}

	// dm://user:password@host:port?schema=SYSDBA[&...]
	dsn := dameng.BuildUrl("user", "password", "127.0.0.1", 5236, options)
	// VARCHAR 类型大小为字符长度
	//db, err := gorm.Open(dameng.New(dameng.Config{DSN: dsn, VarcharSizeIsCharLength: true}))
	// VARCHAR 类型大小为字节长度(默认)
	db, err := gorm.Open(dameng.Open(dsn), &gorm.Config{})
	if err != nil {
		// panic error or log error info
	}

	// do somethings
	var versionInfo []map[string]interface{}
	db.Table("SYS.V$VERSION").Find(&versionInfo)
	if err := db.Error; err == nil {
		versionBytes, _ := json.MarshalIndent(versionInfo, "", "  ")
		fmt.Printf("达梦数据库版本信息:\n%s\n", versionBytes)
	}
}

/****************** 控制台输出内容 *****************

达梦数据库版本信息:
[
  {
    "BANNER": "DM Database Server 64 V8"
  },
  {
    "BANNER": "DB Version: 0x7000c"
  },
  {
    "BANNER": "03134284094-20230927-******-*****"
  }
]

*************************************************/

参考文档

达梦技术文档

GORM 文档

About

Ⓜ GORM DM8 driver. GORM 达梦数据库驱动。当前 DM 驱动版本:go-20240326

Topics

Resources

Stars

Watchers

Forks

Languages