go在Windows下使用Oracle驱动(database/sql)过程及问题解决

 

  1. 安装最新版的git,并设置可以从命令行直接调用git命令
  2. 下载OCI最新版本,存放于D:\ GoOracleEnv \ instantclient_19_6
  3. 下载OCI SDK最新版本,存放于D:\ GoOracleEnv \ instantclient_19_6\ sdk
  4. 下载MinGW最新版,安装在C:\ mingw
  5. 下载pkg-config.exe和oci8.pc(已经存放在Windows文件夹下)
  6. 将pkg-config.exe复制到C:\ mingw \ bin \下
  7. 将oci8.pc复制到C:\ mingw \ lib \ pkg-config \下,并且修改oci8.pc文件,修改内容如下:
  8. prefix=C:/ruanjian/oracle/instantclient_19_6
  9. exec_prefix=C:/ruanjian/oracle/instantclient_19_6
  10. libdir=${exec_prefix}
    includedir=${prefix}/sdk/include/

    Name: OCI
    Description: Oracle database engine
    Version: 19.6
    Libs: -L${libdir} -loci
    Libs.private:
    Cflags: -I${includedir}
  11. 修改系统环境变量,添加
    • PATH =初始PATH; D:\ GoOracleEnv \ instantclient_19_3; C:\ mingw \ bin;
    • PKG_CONFIG_PATH = C:\ mingw \ lib \ pkg-config
  12. 执行go获取github.com/Kylelkh/go-oci8

  注意问题: 

   1. MinGW一定要选择适合自己系统的位数,否则的话回出现cc1.exe找不到的问题

    2.   oci的版本尽量与你的数据库版本相同

    3 .  在测试读取数据的过程中一直出现指针为空的错误,经过测试查问之后才发现sql中的表名需要使用双引号括住(我对Oracle不是很熟悉,我用的表是user)

posted @ 2020-06-28 09:46  尼古拉斯胖狗  阅读(343)  评论(0)    收藏  举报