go连接oracle

55 阅读1分钟

juejin.cn/post/721173…

1、安装包

go get github.com/godror/godror

2、go的版本在1.18以上会报错

# github.com/godror/godror
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:479:19: undefined: VersionInfo
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:480:19: undefined: VersionInfo
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:481:30: undefined: ObjectType
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:482:31: undefined: Event
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:482:42: undefined: SubscriptionOption
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:482:64: undefined: Subscription
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:483:10: undefined: StartupMode
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:484:11: undefined: ShutdownMode
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:485:59: undefined: Data
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:488:18: undefined: PoolStats
....\gopath\pkg\mod\github.com\godror\godror@v0.20.0\orahlp.go:488:18: too many errors

安装goland,在创建项目时选择go的sdk为1.8即可,这个设置只会对当前项目生效,对系统中go的sdk版本无影响。

如果你的电脑系统中没有gcc,会报错

# runtime/cgo
cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%

安装gcc

1、下载

选择上述文章的方法二,方法一采用exe安装不上,科学上网也不行

2、解压,复制bin文件的目录

C:\Windows\System32\cmd.exe

3、添加到系统环境变量path中

4、测试是否安装成功

gcc -v

安装oracle客户端库

www.oracle.com/technetwork…

添加到系统环境变量的path中

C:\ToolSoftware\Oracle\instantclient-basic-windows.x64-12.2.0.1.0\instantclient_12_2

重新启动goland

解决读取guid乱码

加上rawtohex函数

//大写
select rawtohex(sys_guid()) from dual;

//小写
select lower(rawtohex(sys_guid())) from dual;