Linux搭建Go访问Oracle环境
下载base和sdk包
官网下载下载连接, 下载所需版本的Basic Package (ZIP)
和SDK Package (ZIP)
,然后解压。移动到某个目录下。
将SDK Package (ZIP)
解压后里面的sdk文件夹复制到Basic Package (ZIP)
解压后的instantclient_**_**
文件夹下。将oci8.pc
移动到instantclient_**_**
下。
下面给出oci8.pc
的配置文件
prefix=/usr/local/oracle/instantclient_19_13 # 解压后存放的目录。
exec_prefix=/usr/local/oracle/instantclient_19_13
includedir=${prefix}/sdk/include
libdir=${exec_prefix}
Name: oci8
Description: Oracle Instant Client
Version: 19.13
Cflags: -I${includedir}
Libs: -L${libdir} -lclntsh
配置环境变量
export PKG_CONFIG_PATH=/usr/local/oracle/instantclient_19_13 # 解压后存放instance的目录。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/oracle/instantclient_19_13 # 链接库。
添加文件/etc/ld.so.conf.d/oracle_instantclient_19_13.conf
,内容如下:
/usr/local/oracle/instantclient_19_13
主要是解决以下的报错。
/usr/bin/ld: /usr/local/oracle/instantclient_19_13/libclntsh.so: undefined reference to `nzosgpc_GetProtocolVer'