golang連線sm3認證加密

瀚高PG實驗室發表於2022-05-06

瀚高資料庫
目錄
環境
文件用途
詳細資訊

環境
系統平臺:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5
文件用途
golang連線安全版sm3認證加密資料庫,驅動程式詳見附件。

詳細資訊
1.下載Linux golang安裝包 go1.17.3.linux-amd64.tar.gz(詳見support技術支援平臺附件)
1.1. 解壓安裝包

tar xvf go1.17.3.linux-amd64.tar.gz -C /opt/apps/go

1.2. 建立路徑

mkdir /opt/dev/go -p

1.3. 新增環境變數

vim ~/.bashrcexport GOROOT=/opt/apps/goexport PATH=$PATH:/opt/apps/go/binexport GOPATH=/opt/dev/gosource  ~/.bashrc

2.將解壓後的pq目錄放到如下路徑

mkdir /opt/dev/go/src/github.com/lib/pq

3.測試:將如下程式碼儲存為go檔案執行

package mainimport (
    "database/sql"
    "fmt"
    _ "github.com/lib/pq")const (
    host     = "192.168.21.138"
    port     = 5871
    user     = "test"
    password = "hg123456"
    dbname   = "test")func connectDB() *sql.DB{
    psqlInfo := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",host, port, user, password, dbname)
    db, err := sql.Open("postgres", psqlInfo)
    if err != nil {
        panic(err)
    }
    err = db.Ping()
    if err != nil {
        panic(err)
    }
    fmt.Println("Successfully connected!")
    return db}func query(db *sql.DB){
    var name string
    rows,err:=db.Query("select '資料庫版本:['||version()||']' as name")
    if err!= nil{
        fmt.Println(err)
    }
    defer rows.Close()
    for rows.Next(){
        err:= rows.Scan(&name)
        if err!= nil{
            fmt.Println(err)
        }
    }
    err = rows.Err()
    if err!= nil{
        fmt.Println(err)
    }
    fmt.Println(name)}func main()  {
    db:=connectDB()
    query(db)}

4.執行結果

golang連線sm3認證加密


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994931/viewspace-2892482/,如需轉載,請註明出處,否則將追究法律責任。

相關文章