使用 Go-Ora 连接到 Oracle 23ai 数据库
前文 《 一鍵啓動 Oracle 23c Free 》 介绍了如何使用容器技术快速拉起 Oracle 23c 数据库。
这个开发者版本可以很便捷的拉起、测试、销毁,对开发者是非常友好的。
本文将介绍如何使用 Go 语言构建项目,并连接到 Oracle 数据库。
Go 环境配置
本文使用的是 Go 1.21 版本。
下载安装包,并解压。
1 | wget https://studygolang.com/dl/golang/go1.21.8.linux-amd64.tar.gz |
将二进制目录添加到环境变量中。
1 | echo 'export PATH=/home/mysql/go/bin:$PATH' >> ~/.bashrc |
查看 Go 版本。
1 | go version |
1 | $ go version |
创建一个 Go 的测试项目
Go 语言环境配置完成后,我们来初始化一个新项目。
具体步骤如下:
1. 创建项目目录
创建项目目录 mygo
。
1 | mkdir mygo |
2. 初始化项目
使用 go mod init
命令初始化项目。
1 | go mod init github.com/shawn0915/mygo |
1 | $ go mod init github.com/shawn0915/mygo |
3. 创建 Go 文件
创建项目主文件。
1 | touch main.go |
在主文件中添加如下代码。
1 | package main |
3. 运行 Go 程序
运行 Go 程序:
1 | go run . |
1 | $ go run . |
这将编译并运行 main.go
中的程序,并输出 Hello, World!
。
相信通过这个小案例,大家已经对 Go 项目有初步的了解。
使用 go-ora 驱动连接到 Oracle
接下来演示如何使用 go-ora 驱动连接到 Oracle 数据库。
go-ora 是由 Go 语言实现的 Oracle 客户端,推荐使用 go-ora v2 版本,对 Oracle 10.2 及以上版本更友好。
下面是代码示例,以供参考。
连接到 Oracle
导入 go-ora 驱动,并创建连接。
1 | import ( |
这里需要将数据库连接信息替换为实际的值,这段代码中并没有使用其他连接参数,所以最后一个值为 nil
。
需要注意的是,为了安全起见,不要在代码中硬编码数据库连接信息,这里只是为了演示,建议在正式环境中使用环境变量或配置文件来管理敏感信息。
查看版本信息
创建查询,并将查询结果打印出来。
1 | var banner string |
运行程序
运行程序,可以得到版本信息。
1 | $ go run . |
小结
本文展示了 go-ora 驱动的基本用法。当然还有其他驱动可以使用,比如 GODROR
。
GODROR 是一个活跃的 Oracle 驱动,基于官方的 ODPI-C (Oracle Call Interface (OCI) wrapper) 接口。
需安装依赖:
1 | go get github.com/godror/godror@latest |
在实际生产环境中,你或许会使用 ORM 库来简化数据库操作,而不是直接使用 database/sql 包。
常见的 Go 语言连接 Oracle 数据库的 ORM 框架有:
- XORM
XORM 是简单而强大的开源 ORM 框架,支持 godror 和 go-oci8 这两种 Oracle 驱动。
安装依赖:
1 | go get xorm.io/xorm |
- GORM
支持 Oracle 12c 及以上版本。但已经三年未更新,不建议用于生产环境。
安装依赖:
1 | go get github.com/cengsin/oracle |
不过,对于理解底层工作原理和进行特定测试、优化,直接使用数据库驱动 和 database/sql 包是有价值的。
– END. –
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)
- Title: 使用 Go-Ora 连接到 Oracle 23ai 数据库
- Author: ShawnYan
- Created at: 2024-04-08 23:00:00
- Updated at: 2024-04-08 23:00:00
- Link: https://shawnyan.cn/2024/oracle/oracle-23ai-go-ora-demo/
- License: This work is licensed under CC BY-NC-SA 4.0.