Go连接oracle驱动,go在windows下连接oracle数据库

一、系统环境

1. win7 64位

2. go 1.8

3. oracle SDK版本 12.1

4. mingw64位

5. go-oci8

二、安装步骤

1. 安装go1.8,参照网上的教程

2. 下载oracle 的sdk和运行库

3. 安装mingw64和pkg-config.exe,将pkg-config拷贝到mingw64的bin目录,pkg-config是编译go-oci8的时候需要用到的。

三、配置

1. 修改oci8.pc文件,存入mingw64的lib/pkgconfig目录

2. 修改PKG_CONFIG_PATH为E:\mingw-w64\mingw-w64\x86_64-4.9.2-posix-seh-rt_v3-rev1\mingw64\lib\pkgconfig

四、重新编译oci.lib文件

1. 由于oracle提供的oci.lib文件是针对vs的,如果链接到这个oci.lib后,会出现go程序直接奔溃,而且没有任何提示信息。我开始一直找不到是什么问题,后来直接写了一个c调用的数据库接口的小程序,用mingw的gcc来编译和链接,发现也会崩溃,由此定位到是链接库的问题

2. 参考国外一个哥们的做法如下:

2.1 gendef oci.dll 先产生一个oci.def文件 (gendef是mingw64自带的)

2.2 dlltool -D oci.dll -d oci.def -l liboci.a 产生liboci.a的静态文件

3. 最后编译go-oci8的时候就链接这个新产生的静态文件就可以了。

编译过程中有问题的,可以加我qq:154554381

http://www.jianshu.com/p/e060986b1094

有疑问加站长微信联系(非本文作者)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值