1. 安装驱动
@H_301_2@go get -d github.com/asifjalil/cli2. liteide 使用 win32 编译环境,修改 win32.env,添加 (根据本机DB 9.7 的安装路径改动)
@H_301_2@DB2HOME=D:/PROGRA~2/IBM/sqlLIB @H_301_2@CGO_LDFLAGS=-L%DB2HOME%/lib @H_301_2@CGO_CFLAGS=-I%DB2HOME%/include3. 打开$GOPATH/src/github.com/asifjalil/cli 目录 ,替换所有 *.go 文件中的
#cgo LDFLAGS: -ldb2
为
@H_301_2@#cgo LDFLAGS: -ldb2cli @H_301_2@#cgo LDFLAGS: -ldb2api4. cirl+F8 (go install)
5. 测试代码运行
@H_301_2@package main @H_301_2@ @H_301_2@import ( @H_301_2@"database/sql" @H_301_2@"fmt" @H_301_2@ @H_301_2@_ "github.com/asifjalil/cli" @H_301_2@) @H_301_2@ @H_301_2@func main() { @H_301_2@connStr := `Driver={IBM DB2 ODBC Driver};Hostname=localhost;Port=50000;Protocol=TCPIP;Database=OATEST;CurrentSchema=oa;UID=oa;PWD=oa;` @H_301_2@db,err := sql.Open("cli",connStr) @H_301_2@if err != nil { @H_301_2@panic(err) @H_301_2@} @H_301_2@defer db.Close() @H_301_2@ @H_301_2@sql := "select STAFFID,STAFFNAME from WF_STAFF where STAFFID='ADMIN'" @H_301_2@ @H_301_2@fmt.Println(sql) @H_301_2@ @H_301_2@type rslt struct { @H_301_2@STAFFID string @H_301_2@STAFFNAME string @H_301_2@} @H_301_2@ @H_301_2@rows,err := db.Query(sql) @H_301_2@if err != nil { @H_301_2@panic(err) @H_301_2@} @H_301_2@ @H_301_2@for rows.Next() { @H_301_2@var r rslt @H_301_2@err = rows.Scan(&r.STAFFID,&r.STAFFNAME) @H_301_2@if err != nil { @H_301_2@panic(err) @H_301_2@} @H_301_2@fmt.Println(r) @H_301_2@} @H_301_2@ @H_301_2@}