`

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>

分享到:
评论

相关推荐

    用于Go编程语言的Oracle数据库驱动程序。-Golang开发

    Golang Oracle数据库驱动程序TL; DR; 只需使用它import(“ database / sql” _“ gopkg.in/rana/ora.v4”)func main(){ora-import“ gopkg.in/rana/ora.v4”包ora实现了Oracle数据库驱动程序。 Golang Oracle...

    YandexClickHouse的GolangSQL数据库驱动程序_Go_Makefile_下载

    点击屋\nYandex ClickHouse的另一个 Golang SQL 数据库驱动程序\n主要特征\n使用官方接口\n与数据库sql的兼容性\n与dbr、chproxy、clickhouse-bulk 的兼容性\n对于本机界面,请查看clickhouse-go\n数字网络\...

    使用数据库/ SQL进行Go的Oracle驱动程序-Golang开发

    go-oci8描述符合Go数据库/ sql界面的Golang Oracle数据库驱动程序安装安装Oracle完整客户端或Instant Client:https://www.oracle.com/technetwork/database/data go-oci8描述Golang符合以下条件的Oracle数据库驱动...

    用于Yandex ClickHouse的Golang SQL数据库驱动程序-Golang开发

    用于Yandex ClickHouse ClickHouse的Golang SQL数据库驱动程序用于Yandex ClickHouse ClickHouse的Golang SQL数据库驱动程序关键功能使用本机ClickHouse tcp客户端-服务器协议与数据库/ sql的兼容性Round Robin负载...

    golang-odbc 驱动

    在 Go 中使用 golang-odbc 驱动,首先需要确保你的系统已经安装了 ODBC 驱动程序和数据源。数据源是 ODBC 的一个重要概念,它是数据库连接的配置信息,包括数据库的类型、服务器地址、用户名、密码等。你可以通过...

    go-clickhouse:用于Yandex ClickHouse的Golang SQL数据库驱动程序

    另一个Golang SQL数据库驱动程序 主要特点 使用官方的http界面 与兼容性 DSN schema://user:password@host[:port]/database?param1=value1&...&paramN=valueN 参数 超时-是拨号等待连接完成的最长时间 idle_time...

    使用 XMind 记录 Linux 操作系统,网络,C++,Golang 以及数据库的一些设计

    使用 XMind 记录 Linux 操作系统,网络,C++,Golang 以及数据库的一些设计使用 XMind 记录 Linux 操作系统,网络,C++,Golang 以及数据库的一些设计使用 XMind 记录 Linux 操作系统,网络,C++,Golang 以及数据库...

    Go MySQL Driver 是 Go(golang)数据库/sql 包的 MySQL 驱动程序

    Go MySQL Driver 是 Go(golang)数据库/sql 包的 MySQL 驱动程序

    Go-Go(golang)的FirebirdRDBMSSQL驱动程序

    在Go语言中,若要与Firebird数据库进行通信,就需要一个专门的驱动程序,这正是"Go-Go(golang)的Firebird RDBMS SQL驱动程序"所扮演的角色。 这个驱动程序,通常称为`firebirdsql`,是为Go语言开发的,它实现了`...

    golang+离线安装golang1.18.9+rpm离线安装golang1.18

    7. **测试Go环境**:现在,你可以创建一个简单的Go程序来测试新安装的环境。在终端中输入`go run hello.go`,其中`hello.go`是包含`package main`和`fmt.Println("Hello, World!")`的Go源代码文件。如果一切就绪,...

    Go MySQL Driver 是 Go(golang)数据库,sql 包的 MySQL 驱动程序.zip

    Go-MySQL 驱动程序Go数据库/sql包的 MySQL 驱动程序特征要求安装用法DSN(数据源名称)密码协议地址参数示例连接池和超时context.Context 支持ColumnType 支持LOAD DATA LOCAL INFILE 支持time.Time 支持Unicode ...

    Golang的odbc驱动

    在Golang中,ODBC(Open Database Connectivity)驱动允许开发者通过标准接口与各种数据库进行通信,使得程序可以访问多种数据库系统而无需关心底层数据库的具体实现。ODBC是跨平台的,它提供了一个统一的方式来访问...

    用于 golang 的 Sql mock 驱动程序,用于测试数据库交互.zip

    Golang 的 SQL 驱动程序模拟sqlmock是一个实现sql/driver 的模拟库。它只有一个目的 - 在测试中模拟任何sql驱动程序行为,而无需真实的数据库连接。它有助于维护正确的TDD工作流程。这个库现在已经完整且稳定。...

    Go-Prana是一个Golang数据库管理和代码生成

    Go-Prana是一款基于Golang语言的数据库管理与代码生成工具,它的主要功能集中在简化数据库操作和提升开发效率上。Prana提供了丰富的命令行接口,让开发者能够方便地执行SQL迁移、运行嵌入式SQL脚本以及根据数据库...

    Go-BundleDB是Golang的嵌入式数据库其集合随着它们的增长而自动分裂

    Go-BundleDB是一种基于Golang实现的嵌入式数据库系统,专为处理不断增长的数据集而设计。它的核心特性在于其自动分裂功能,这使得数据库能够有效地管理内存和磁盘资源,保持高效运行,尤其适合那些对数据存储有动态...

    golang实现mysql数据库备份的操作方法

    此外,Python的pymysql库可能会遇到编码问题,如xfffd编码导致程序崩溃,而Golang在处理这类问题上表现更稳定,因此选择Golang进行数据库备份的重写。 在实现Golang的MySQL备份过程中,有几个关键点需要注意: 1. ...

    Go-GoSqlServer数据库驱动程序

    Go-GoSqlServer数据库驱动程序是为Go编程语言设计的一款用于连接Microsoft MSSQL数据库的驱动。这个驱动程序基于开源项目FreeTDS进行封装,使得Go开发者可以方便地在他们的应用程序中与MSSQL服务器进行交互。FreeTDS...

    go语言数据库驱动github

    标题"Go语言数据库驱动github"指的是在Go语言中,开发者可以从GitHub获取各种数据库驱动程序的源代码。GitHub是一个全球知名的开源代码托管平台,其中包含了无数的开源项目,包括Go语言的各种数据库驱动。这些驱动...

    clickhouse-driver:用于ClickHouse列式数据库的Golang驱动程序

    用于Golang驱动程序-面向列的数据库,以稳定和可持续的方式管理大量数据。 目前,它为全球第二大Web分析平台Yandex.Metrica提供支持,该平台拥有超过13万亿个数据库记录和每天超过200亿个事件,可直接从非聚合数据...

    ClickHouse 的 Golang 驱动程序.zip

    ClickHouse ClickHouse的 Golang SQL 数据库客户端。主要特色使用 ClickHouse 原生格式以获得最佳性能。利用低级ch-go客户端进行编码/解码和压缩(版本 &gt;= 2.3.0)。支持原生 ClickHouse TCP 客户端-服务器协议兼容...

Global site tag (gtag.js) - Google Analytics