Golang连贯Oracle 须要装置Oracle Full Client或Instant Client
Oracle的Instant Client套件下载地址
#抉择Instant Client for macOS (Intel x86)下载包如下:
instantclient-basic-macos.x64-19.8.0.0.0dbru.zip
instantclient-sdk-macos.x64-19.8.0.0.0dbru.zip
instantclient-sqlplus-macos.x64-19.8.0.0.0dbru.zip
#都解压到instantclient_19_8同一目录下
unzip instantclient-basic-macos.x64-19.8.0.0.0dbru.zip
unzip instantclient-sdk-macos.x64-19.8.0.0.0dbru.zip
unzip instantclient-sqlplus-macos.x64-19.8.0.0.0dbru.zip
#打印instantclient_19_8目录的门路
pwd
/Users/liang/software/oracle/instantclient_19_8
装置pkg-config
MacBook自带了pkg-config,这里不在装置
#打印pkg-config版本
pkg-config --version
创立配置文件oci8.pc
vim /Users/liang/software/oracle/oci8.pc
oci8.pc文件内容如下:
prefixdir=/Users/liang/software/oracle/instantclient_19_8
libdir=${prefixdir}
includedir=${prefixdir}/sdk/include
Name: OCI
Description: Oracle database driver
Version: 19.8
Libs: -L${libdir} -lclntsh
Cflags: -I${includedir}
配置环境变量
我用的是zsh,没有应用zsh的,能够增加到~/.bashrc文件
vim ~/.zshrc
增加如下环境变量
# Oracle的OCI套件
export LD_LIBRARY_PATH=/Users/liang/software/oracle/instantclient_19_8
# oci8.pc文件所在门路
export PKG_CONFIG_PATH=/Users/liang/software/oracle
使配置失效
source ~/.zshrc
运行Golang连贯Oracle报错:
dyld: Library not loaded: @rpath/libclntsh.dylib.19.1
Referenced from: /var/folders/_f/n3km_s7j6_9f8qzpkf9w395h0000gn/T/go-build114883360/b001/exe/oracleoci8
Reason: image not found
增加软链接,解决报错
ln -s /Users/liang/software/oracle/instantclient_19_8/libclntsh.dylib.19.1 /usr/local/lib/
发表回复