golang + windows 7 访问 db2 9.7

前端之家收集整理的这篇文章主要介绍了golang + windows 7 访问 db2 9.7前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 安装驱动

@H_301_2@go get -d github.com/asifjalil/cli

2. 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%/include

3. 打开$GOPATH/src/github.com/asifjalil/cli 目录 ,替换所有 *.go 文件中的

#cgo LDFLAGS: -ldb2

@H_301_2@#cgo LDFLAGS: -ldb2cli @H_301_2@#cgo LDFLAGS: -ldb2api

4. 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@}

猜你在找的Go相关文章