步骤:
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代码实现:
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方式操作达梦数据库。可以跟大家一起探讨。