日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

go连接达梦数据库

發(fā)布時間:2024/4/19 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go连接达梦数据库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

DM 驅(qū)動包的配置

1. 安裝 DM 驅(qū)動包

將提供的 DM 驅(qū)動包放在 GOPATH 的 src 目錄下。驅(qū)動包位于 dmdbms/drivers/go/dm-go-driver.zip 解壓到 GPPATH 安裝路徑的 src 下,如圖所示:

2. 安裝依賴包

所需 Go 依賴包有兩個,text 和 snappy,從 Git 上把依賴包 clone 到本地,桌面右鍵【Git Bash Here】打開 Git 命令行窗口,依次下載 text 和 snappy 依賴。

git clone https://github.com/golang/text.git D:/goDev/srcc/golang.org/x/text git clone https://github.com/golang/snappy D:/goDev/src/github.com/golang/snappy

3.go代碼

//Sql語句 CREATE TABLE "SYSDBA"."DPI_DEMO" ( "C1" INT, "C2" CHAR(20), "C3" VARCHAR(50), "C4" NUMERIC(7,3), "C5" TIMESTAMP(5), "C6" CLOB, "C7" BLOB) STORAGE(ON "MAIN", CLUSTERBTR) ;/*該例程實現(xiàn)插入數(shù)據(jù),修改數(shù)據(jù),刪除數(shù)據(jù),數(shù)據(jù)查詢等基本操作。*/ package main // 引入相關(guān)包 import ("database/sql"_ "dm""fmt""time" ) var db *sql.DB var err error func main() {driverName := "dm"dataSourceName := "dm://SYSDBA:SYSDBA@localhost:5236"if db, err = connect(driverName, dataSourceName); err != nil {fmt.Println(err)return}if err = insertTable(); err != nil {fmt.Println(err)return}if err = updateTable(); err != nil {fmt.Println(err)return}if err = queryTable(); err != nil {fmt.Println(err)return}if err = deleteTable(); err != nil {fmt.Println(err)return}if err = disconnect(); err != nil {fmt.Println(err)return} }func connect(driverName string, dataSourceName string) (*sql.DB, error) {var db *sql.DBvar err errorif db, err = sql.Open(driverName, dataSourceName); err != nil {return nil, err}if err = db.Ping(); err != nil {return nil, err}fmt.Printf("connect to \"%s\" succeed.\n", dataSourceName)return db, nil }func insertTable() error {var sql = `insert into "SYSDBA"."DPI_DEMO"("C1", "C2", "C3", "C4", "C5") VALUES(:1,:2,:3,:4,:5);`_, err = db.Exec(sql, "4", "123aaa", "中華書局1","0.123", time.Now())if err != nil {return err}fmt.Println("insertTable succeed")return nil }func updateTable() error {var sql = `update "SYSDBA"."DPI_DEMO" set "C4" = :1 where c1 = :2;`if _, err := db.Exec(sql, 222.125,4); err != nil {return err}fmt.Println("updateTable succeed")return nil }func queryTable() error {var C1 intvar C2 stringvar C3 stringvar C4 stringvar C5 stringvar sql = `select "C1","C2","C3","C4","C5" from "SYSDBA"."DPI_DEMO";`rows, err := db.Query(sql)if err != nil {return err}defer rows.Close()fmt.Println("queryTable results:")for rows.Next() {if err = rows.Scan(&C1, &C2, &C3, &C4, &C5); err != nil {return err}fmt.Printf("%v %v %v %v %v\n", C1, C2, C3, C4, C5)}return nil }func deleteTable() error {var sql = `delete from "SYSDBA"."DPI_DEMO" where c1 = :1;`if _, err := db.Exec(sql,4); err != nil {return err}fmt.Println("deleteTable succeed")return nil } /* 關(guān)閉數(shù)據(jù)庫連接 */ func disconnect() error {if err := db.Close(); err != nil {fmt.Printf("db close failed: %s.\n", err)return err}fmt.Println("disconnect succeed")return nil }

達夢支持

有任何問題請到技術(shù)社區(qū)反饋。

24小時免費服務(wù)熱線:400 991 6599

達夢技術(shù)社區(qū):https://eco.dameng.com

總結(jié)

以上是生活随笔為你收集整理的go连接达梦数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。