1.首先在github上面下载包文件
https://github.com/tgulacsi/goracle
2.设置的编译环境
不设置编译环境,不然go build 会出现:
# github.com/tgulacsi/goracle/oracle
src/github.com/tgulacsi/goracle/oracle/connection.go:23:17:
error: oci.h: No such file or directory
src/github.com/tgulacsi/goracle/oracle/connection.go:25:16:
error: xa.h: No such file or directory
他给出的编译环境脚本,但是看起来比较复杂,其实就两句话,设置好2个cgo的flag就可以了。
export
CGO_CFLAGS=-I/opt/oracle/product/OraHome/rdbms/public
export CGO_LDFLAGS=-L/opt/oracle/product/OraHome/lib
3.运行你的程序:
运行的时候还是要报错:
$
$ goprom xxxx xxxxx
goprom : error while loading shared
libraries: libclntsh.so.11.1: cannot open shared object file: No
such file or directory
这个时候看oracle用户的env,把动态库的变量加进去:
LD_LIBRARY_PATH=/opt/oracle/product/OraHome/lib:/lib:/usr/lib:/usr/local/lib
4.连接数据库.
但是运行时候连接oracle是时候会报错:
I1225 23:23:06 11474 runMySQLsql.go:74] Connect
using:oraadm/passw0rd@gooradb :@Unable to acquire Oracle
environment handle -1073741818: other
切换到oracle运行就可以了。
但是把oracle用户的环境变量都加入到你的用户当中还是不行。
吐槽一下,我怎么觉得oracle的安装配置比db2难拿。
有疑问加站长微信联系(非本文作者)