当前位置: 首页 > news >正文

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

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/includeName: 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.1Referenced from: /var/folders/_f/n3km_s7j6_9f8qzpkf9w395h0000gn/T/go-build114883360/b001/exe/oracleoci8Reason: image not found

添加软链接,解决报错

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

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

http://www.lryc.cn/news/35393.html

相关文章:

  • Elasticsearch 核心技术(七):IK 中文分词器的安装、使用、自定义字典
  • 【LeetCode】剑指 Offer(19)
  • 吐血整理,web自动化测试,POM模式搭建自动化测试框架(超级详细)
  • 【数据库原理复习】索引 视图 sql语句
  • 【HDFS】IPC重试
  • Revit导出CAD图纸操作及批量导出
  • 【批处理脚本】-3.4-goto命令详解
  • 超详细CentOS7 NAT模式(无图形化界面即最小安装)网络配置
  • 【可信平台】开证问题汇总--1.无采购入库记录,2.箱码无产出记录
  • RolePred: Open-Vocabulary Argument Role Prediction for Event Extraction 论文解读
  • 【数据结构】链表相关题目(简单版)
  • 通信原理 | FFT/STFT 你真的学会了吗?
  • Qt使用API实现鼠标点击操作
  • JavaWeb学习-Tomcat
  • 【蓝牙系列】蓝牙5.4到底更新了什么(2)
  • js中window自带的四舍五入toFixed方法中的坑以及解决办法
  • JeecgBoot 3.5.0 版本发布,开源的企业级低代码平台
  • 行测-判断推理-图形推理-样式规律-空间重构-四面体和八面体
  • HTML5新特性
  • TDengine Schemaless(无模式写入)常见问题的原因及故障排除
  • 【前端八股文】浏览器系列:浏览器渲染、前端路由、前端缓存(HTTP缓存)、缓存存储(HTTP缓存存储、本地存储)
  • SpiderFlow爬虫获取网页节点
  • “微服务架构:优点、缺点及实现方式“
  • c/c++实现crc码计算和校验
  • 漏洞分析丨cve20110104
  • 关于vue-router路径配置的问题(此文主要是记录三级路由的访问路径,以及安装、路由组件、路由重定向)
  • SpringBoot 整合 clickhouse和mysql 手把手教程全网最详细
  • Leetcode-java 数据结构回顾 Day01
  • Java spring cloud 企业工程管理系统源码+项目模块功能清单
  • 用Biome-BGC模型如何模拟水循环过程