/docker-go-oci8

基于golang:latest封装的oci8驱动镜像,支持go对Oracle数据库查询的运行环境。 支持go module

Primary LanguageDockerfileApache License 2.0Apache-2.0

docker-go-oci8

基于golang:latest封装的oci8驱动镜像,支持go对Oracle数据库查询的运行环境

构建镜像脚本

执行release_builder.bat

使用demo

main.go

package main

import (
	"fmt"
	"github.com/go-xorm/xorm"
	_ "github.com/mattn/go-oci8"
	"net/url"
)

func main() {
	TestFunc()
}

func TestFunc() {
	pwd := url.QueryEscape("")
	//创建orm引擎
	engine, err := xorm.NewEngine("oci8", "user/"+pwd+"@ip:1521/db")
	if err != nil {
		fmt.Println(err)
		return
	}
	//连接测试
	if err := engine.Ping(); err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("ping ok")
	//日志打印SQL
	engine.ShowSQL(true)

	//设置连接池的空闲数大小
	engine.SetMaxIdleConns(5)
	//设置最大打开连接数
	engine.SetMaxOpenConns(5)

	result, err := engine.QueryInterface(`
select * from HR.COUNTRIES
`)
	fmt.Println(err)
	fmt.Println(result)
}

Dockerfile

FROM fzkun/go-oci8:latest

#创建工程文件夹
ENV GO111MODULE on
ENV GOPROXY https://goproxy.io,direct
ENV GOSUMDB off
RUN mkdir -p /app

WORKDIR /app
# 拷贝当前目录代码到镜像
COPY main.go /app
RUN go mod init demo
RUN go mod tidy

RUN go run main.go

result

[xorm] [info]  2020/05/13 09:50:35.170938 [SQL]
select * from HR.COUNTRIES
<nil>
[map[COUNTRY_ID:AR COUNTRY_NAME:Argentina REGION_ID:2] map[COUNTRY_ID:AU COUNTRY_NAME:Australia REGION_ID:3] map[COUNTRY_ID:BE COUNTRY_NAME:Belgium REGION_ID:1] map[C
OUNTRY_ID:BR COUNTRY_NAME:Brazil REGION_ID:2] map[COUNTRY_ID:CA COUNTRY_NAME:Canada REGION_ID:2] map[COUNTRY_ID:CH COUNTRY_NAME:Switzerland REGION_ID:1] map[COUNTRY_I
D:CN COUNTRY_NAME:China REGION_ID:3] map[COUNTRY_ID:DE COUNTRY_NAME:Germany REGION_ID:1] map[COUNTRY_ID:DK COUNTRY_NAME:Denmark REGION_ID:1] map[COUNTRY_ID:EG COUNTRY
_NAME:Egypt REGION_ID:4] map[COUNTRY_ID:FR COUNTRY_NAME:France REGION_ID:1] map[COUNTRY_ID:IL COUNTRY_NAME:Israel REGION_ID:4] map[COUNTRY_ID:IN COUNTRY_NAME:India RE
GION_ID:3] map[COUNTRY_ID:IT COUNTRY_NAME:Italy REGION_ID:1] map[COUNTRY_ID:JP COUNTRY_NAME:Japan REGION_ID:3] map[COUNTRY_ID:KW COUNTRY_NAME:Kuwait REGION_ID:4] map[
COUNTRY_ID:ML COUNTRY_NAME:Malaysia REGION_ID:3] map[COUNTRY_ID:MX COUNTRY_NAME:Mexico REGION_ID:2] map[COUNTRY_ID:NG COUNTRY_NAME:Nigeria REGION_ID:4] map[COUNTRY_ID
:NL COUNTRY_NAME:Netherlands REGION_ID:1] map[COUNTRY_ID:SG COUNTRY_NAME:Singapore REGION_ID:3] map[COUNTRY_ID:UK COUNTRY_NAME:United Kingdom REGION_ID:1] map[COUNTRY
_ID:US COUNTRY_NAME:United States of America REGION_ID:2] map[COUNTRY_ID:ZM COUNTRY_NAME:Zambia REGION_ID:4] map[COUNTRY_ID:ZW COUNTRY_NAME:Zimbabwe REGION_ID:4]]