golang中连接oracle数据库
前言golang连接oracle数据库有两种方式,一种是使用oci8连接,这种方式需要在本地安装相应的oracle客户端,不是太方便;还有一种方式是使用godror,直接连接oracle。
这里介绍第二种方式的使用。
操作系统 win7 64bit
oracle服务器 11g
go 1.14.6 windows/amd64
goland编辑器 2021.1.3
git 2.31.1.Windows.1
连接步骤
1.各种环境的安装以及环境变量的配置,请自行百度。
2.在github上面获得相关的库 godror
在goland的开发环境中打开一个终端,输入go get github.com/godror/godror,等待一段时间。。。具体时间根据网速和人品决定(_)
3.修改oracle服务器端的listener.ora(一般来说是不能直接修改的,可以打开net manager)--------提醒这一步一定要做,不然在连接数据库的时候可能会提示没有监听器。
开始 -> oracle … -> net manager
->本地->监听程序->地址2->主机名。
将主机名修改成你数据库服务器的计算机名即可(当然也可以修改成ip,),这里需要保证局域网中不会由计算机名发生重复。
修改之后一定要重启监听
4.写golang的代码
package main
import (
"database/sql"
"fmt"
_ "github.com/godror/godror"
)
const (
host = "192.168.1.11"
port = 1521
user = "system"
sqlpassword = "manager"
dbname = "peixun"
)
func main(){
//这里可以采用上面const里面的数据,我为了方便直接放在里面了。192.168.1.11:1521/peixun这个是数据库所在服务器的ip:端口/数据库上面的实例名
db,err:=sql.Open("godror",`user="system" password="manager" connectString="192.168.1.11:1521/peixun"`)
if err!= nil{
fmt.Println("123")
panic(err)
}
defer db.Close()
err = db.Ping()
if err != nil{
fmt.Println("1234")
fmt.Println(err.Error())
panic(err)
}
fmt.Println("链接成功")
}