步驟:
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方式操作達夢數據庫。可以跟大家一起探討。