golang使用xorm(odbc方式)操作达梦数据库

步骤:

1、达梦客户端安装和ODBC数据源配置(略过),官网程序员手册pdf中有详细过程文档下载地址。
2、https://github.com/go-xorm/xorm 需要用到的依赖包。
3、https://github.com/alexbrainman/odbc go官方写的odbc驱动。

名词解释(连接语句需要使用):

数据库驱动名词(driver):DM8 ODBC DRIVER
数据库名词(database):DM
连接地址(server):127.0.0.1:5236
用户名(uid): userName
密码(pwd):password
golang使用xorm(odbc方式)操作达梦数据库_第1张图片golang使用xorm(odbc方式)操作达梦数据库_第2张图片

golang代码实现:
package main

import (
	"fmt"
	_ "github.com/alexbrainman/odbc"  // google's odbc driver
	"github.com/go-xorm/xorm"
	"xorm.io/core"
)

type Person struct {
	PersonId     int		 `xorm:"PERSONID"`
	Sex          string		 `xorm:"SEX"`
	Name         string		 `xorm:"NAME"`
	Email        string		 `xorm:"EMAIL"`
	Phone        string 	 `xorm:"PHONE"`
}

func main() {

	Engine, err := xorm.NewEngine("odbc", "driver={DM8 ODBC DRIVER};server=127.0.0.1:5236;database=DM;uid=userName;pwd=password;charset=utf8")
	if err != nil {
		fmt.Println("new engine got error:", err)
		return
	}
	if err := Engine.Ping(); err != nil {
		fmt.Println("ping got error:", err)
		return
	}

	Engine.SetTableMapper(core.SameMapper{})
	Engine.ShowSQL(true)
	Engine.SetMaxOpenConns(5)
	Engine.SetMaxIdleConns(5)

	total, err := Engine.Table("PERSON.PERSON").Count(&Person{})
	if nil != err {
		fmt.Println(`engine query got error:`, err.Error())
		return
	}

	fmt.Println("total count is:",total)
}

结果:在这里插入图片描述

后续会写cgo方式操作达梦数据库。可以跟大家一起探讨。

你可能感兴趣的:(GoLang)