2018-11-26 09:58



I'm trying to make connection to a Db2 database using golang. I'm using package to make connection and using the Db2 client called v10.1fp6_ntx64_odbc_cli.

However when I see the instruction on phiggins package it suggest to rebuild package after providing few environment variables


 export CGO_LDFLAGS=-L$DB2HOME/lib
 export CGO_CFLAGS=-I$DB2HOME/include

 go build .

I'm new to golang and not sure how to perform this on Windows. I tried doing it using setting up environment variable but does not work. getting error

panic: Failed to load db2cli64.dll: The specified module could not be found. goroutine 1 [running]: syscall.(*LazyProc).mustFind(0xc000060270) C:/Go/src/syscall/dll_windows.go:280 +0x5f syscall.(*LazyProc).Addr(0xc000060270, 0x64) C:/Go/src/syscall/dll_windows.go:287 +0x32, 0x0, 0xc000071ef8, 0xc000071f00)
C:/Users/myuser/go/src/ +0x34, 0x0) C:/Users/myuser/go/src/ +0x57 C:/Users/myuser/go/src/ +0x29 exit status 2

Please help me to solve this , Looking to connect to a Db2 database using golang.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答


  • duanfeigui6655 duanfeigui6655 3年前

    The following steps let me connect to Db2 from golang on Windows7 pro x64. Your mileage may vary.

    I Used a recent "Db2 Runtime Client" package for Windows x64 downloadable from IBM website (in my case that was version and the filename I downloaded was v11.1.3fp3b_ntx64_rtcl.exe

    This is installed locally at location "c:\Program Files\IBM\sqllib" location (default).

    I have already a working gcc installed on Windows7 for other projects (it may be from minGW).

    I verified in a db2cmd.exe window that I can successfully connect via the CLP (which uses CLI) to the database of interest, using a specific port number and specific credentials. This way I know that the Db2-client is installed properly, and the Db2-server is running, the database is available, and credentials and port are all OK.

    Running as local administrator, Installed go for Windows from msi file downloaded from to default location c:\go.

    Downloaded phiggins-db2cli-*.zip from

    Created local directory: mkdir %userprofile%\go\src\\phiggins\db2cli

    Unzipped contents of the phiggins-db2cli-*.zip into %userprofile%\go\src\\phiggins\db2cli

    In a db2cmd.exe window running as Adminstrator:

    cd %userprofile%\go\src\\phiggins\db2cli

    Created a batch file buildgo.bat with the following contents:

    set DB2HOME="C:\program files\ibm\sqllib"
    set CGO_LDFLAGS=-L"C:\Program Files\IBM\sqllib\lib"
    set CGO_CFLAGS=-I"C:\Program Files\IBM\sqllib\include"
    go build .

    In a db2cmd window running as administrator, ran the batchfile, it completed without errors or messages with errorlevel 0.

    In the same db2cmd window, created a file containing the sample program shown at

    The file I created was called testgo.go

    I then execute the sample program:

    go run -conn DATABASE=sample;HOSTNAME=whatever;PORT=60000;UID=whatever;PWD=whatever;

    --> successfully get the result set on screen

    点赞 评论 复制链接分享