go在windows下连接oracle数据库

byteman_Go · · 3449 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

一、系统环境 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

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

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3449 次点击  
加入收藏 微博
1 回复  |  直到 2017-03-04 08:28:17
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传