golang + windows 7 訪問 db2 9.7

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

1.  安裝驅動 

go get -d github.com/asifjalil/cli

2. liteide 使用 win32 編譯環境 ,修改 win32.env ,添加 (根據本機DB 9.7 的安裝路徑改動)

DB2HOME=D:/PROGRA~2/IBM/SQLLIB
CGO_LDFLAGS=-L%DB2HOME%/lib
CGO_CFLAGS=-I%DB2HOME%/include

3. 開啟 $GOPATH/src/github.com/asifjalil/cli 目錄 ,替換所有 *.go 檔案中的

#cgo LDFLAGS: -ldb2

#cgo LDFLAGS: -ldb2cli
#cgo LDFLAGS: -ldb2api

4. cirl+F8  (go install)

 

5. 測試代碼運行

package main
 
import (
    "database/sql"
    "fmt"
 
    _ "github.com/asifjalil/cli"
)
 
func main() {
    connStr := `Driver={IBM DB2 ODBC Driver};Hostname=localhost;Port=50000;Protocol=TCPIP;Database=OATEST;CurrentSchema=oa;UID=oa;PWD=oa;`
     db, err := sql.Open("cli", connStr)
    if err != nil {
        panic(err)
    }
    defer db.Close()
 
    sql := "select STAFFID ,STAFFNAME from WF_STAFF where STAFFID='ADMIN'"
 
    fmt.Println(sql)
 
    type rslt struct {
        STAFFID   string
        STAFFNAME string
    }
 
    rows, err := db.Query(sql)
    if err != nil {
        panic(err)
    }
 
    for rows.Next() {
        var r rslt
        err = rows.Scan(&r.STAFFID, &r.STAFFNAME)
        if err != nil {
            panic(err)
        }
        fmt.Println(r)
    }
 
}
 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.