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("链接成功")
}

下一篇会写golang的增删改查