`

MacBook安装Golang Oracle数据库驱动程序

阅读更多
Golang连接Oracle 需要安装Oracle Full Client或Instant Client

Oracle的Instant Client套件下载地址

  1. #选择Instant Client for macOS (Intel x86)下载包如下:
  2. instantclient-basic-macos.x64-19.8.0.0.0dbru.zip
  3. instantclient-sdk-macos.x64-19.8.0.0.0dbru.zip
  4. instantclient-sqlplus-macos.x64-19.8.0.0.0dbru.zip
  5. #都解压到instantclient_19_8同一目录下
  6. unzip instantclient-basic-macos.x64-19.8.0.0.0dbru.zip
  7. unzip instantclient-sdk-macos.x64-19.8.0.0.0dbru.zip
  8. unzip instantclient-sqlplus-macos.x64-19.8.0.0.0dbru.zip
  9. #打印instantclient_19_8目录的路径
  10. pwd
  11. /Users/liang/software/oracle/instantclient_19_8

安装pkg-config

MacBook自带了pkg-config,这里不在安装

  1. #打印pkg-config版本
  2. pkg-config --version

创建配置文件oci8.pc

vim /Users/liang/software/oracle/oci8.pc oci8.pc文件内容如下:

  1. prefixdir=/Users/liang/software/oracle/instantclient_19_8
  2. libdir=${prefixdir}
  3. includedir=${prefixdir}/sdk/include
  4. Name: OCI
  5. Description:Oracle database driver
  6. Version:19.8
  7. Libs:-L${libdir}-lclntsh
  8. Cflags:-I${includedir}

配置环境变量

我用的是zsh,没有使用zsh的,可以添加到~/.bashrc文件 vim ~/.zshrc

添加如下环境变量

  1. # Oracle的OCI套件
  2. export LD_LIBRARY_PATH=/Users/liang/software/oracle/instantclient_19_8
  3. # oci8.pc文件所在路径
  4. export PKG_CONFIG_PATH=/Users/liang/software/oracle
  5. 使配置生效
  6. source ~/.zshrc

运行Golang连接Oracle报错:

  1. dyld:Librarynot loaded:@rpath/libclntsh.dylib.19.1
  2. Referencedfrom:/var/folders/_f/n3km_s7j6_9f8qzpkf9w395h0000gn/T/go-build114883360/b001/exe/oracleoci8
  3. Reason: image not found

添加软链接,解决报错

  1. ln -s /Users/liang/software/oracle/instantclient_19_8/libclntsh.dylib.19.1/usr/local/lib/

注意:运行Golang时会提示 需要在系统偏好设置里--安全性和隐私 允许未知来源

<audio controls="controls" style="display: none;"></audio>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics