go在Windows下使用Oracle驱动(database/sql)过程及问题解决
- 安装最新版的git,并设置可以从命令行直接调用git命令
- 下载OCI最新版本,存放于D:\ GoOracleEnv \ instantclient_19_6
- 下载OCI SDK最新版本,存放于D:\ GoOracleEnv \ instantclient_19_6\ sdk
- 下载MinGW最新版,安装在C:\ mingw
- 下载pkg-config.exe和oci8.pc(已经存放在Windows文件夹下)
- 将pkg-config.exe复制到C:\ mingw \ bin \下
- 将oci8.pc复制到C:\ mingw \ lib \ pkg-config \下,并且修改oci8.pc文件,修改内容如下:
- prefix=C:/ruanjian/oracle/instantclient_19_6
- exec_prefix=C:/ruanjian/oracle/instantclient_19_6
-
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} - 修改系统环境变量,添加
- PATH =初始PATH; D:\ GoOracleEnv \ instantclient_19_3; C:\ mingw \ bin;
- PKG_CONFIG_PATH = C:\ mingw \ lib \ pkg-config
- 执行go获取github.com/Kylelkh/go-oci8
注意问题:
1. MinGW一定要选择适合自己系统的位数,否则的话回出现cc1.exe找不到的问题
2. oci的版本尽量与你的数据库版本相同
3 . 在测试读取数据的过程中一直出现指针为空的错误,经过测试查问之后才发现sql中的表名需要使用双引号括住(我对Oracle不是很熟悉,我用的表是user)

浙公网安备 33010602011771号