前言:
当前看官们对“oracle编译pkg之后中文出现”大约比较关注,你们都想要知道一些“oracle编译pkg之后中文出现”的相关文章。那么小编也在网摘上汇集了一些关于“oracle编译pkg之后中文出现””的相关资讯,希望姐妹们能喜欢,同学们一起来学习一下吧!项目需求golang连接Orale数据库,使用mattn/go-oci8包,github地址
过程Oracle Client和SDKoracle官网下载[root@yunxuntech Soft]# ls -l oracle-instantclient12.2-* instantclient-*-rwxrwxrwx 1 root root 674743 Mar 1 16:05 instantclient-sdk-linux.x64-12.2.0.1.0.zip-rwxrwxrwx 1 root root 52826628 Mar 1 15:14 oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm-rwxrwxrwx 1 root root 606864 Mar 1 14:43 oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm客户端路径ORACLE_HOME=[root@yunxuntech ~]# ls -l /usr/lib/oracle/12.2/client64/total 0drwxr-xr-x 1 root root 4096 Mar 1 18:32 bindrwxr-xr-x 1 root root 4096 Mar 1 18:34 libmattn/go-oci8
GitHub下载放入$GOPATH/src
[root@yunxuntech ~]# ls -l $GOPATH/src/github.com/mattntotal 0drwxrwxrwx 1 root root 4096 Mar 1 19:04 go-oci8用户环境变量
用户环境变量需要添加PKG_CONFIG_PATH、ORACLE_HOME、LD_LIBRARY_PATH
export GOROOT=/mnt/d/Soft/goexport GOPATH=/mnt/d/Projects/yunmonexport PKG_CONFIG_PATH=/mnt/d/Projects/yunmonexport ORACLE_HOME=/usr/lib/oracle/12.2/client64export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib
PKG_CONFIG_PATH的路径可以自行指定,需要在该路径下添加一个oci8.pc文件,用于指定Oracle客户端的lib路径和sdk的include路径,go-oci8需要用到sdk的oci文件。
oci8.pc文件的内容
prefix=/usrincludedir=${prefix}/local/instantclient_12_2/sdk/include //sdk路径下面的include文件夹libdir=${prefix}/lib/oracle/12.2/client64/lib Name: oci8Description: Oracle instantclientVersion: 12.2Cflags: -I${includedir}Libs: -L${libdir} -lclntsh
测试环境oci等lib是否正常
[root@yunxuntech yunmon]# pkg-config --cflags oci8 --libs-I/usr/local/instantclient_12_2/sdk/include -L/usr/lib/oracle/12.2/client64/lib -lclntsh脚本测试
[root@yunxuntech t7]# go run t7.goThe user SYS status is OPENThe user SYSTEM status is OPENThe user OUTLN status is EXPIRED & LOCKEDThe user MGMT_VIEW status is EXPIRED & LOCKEDThe user FLOWS_FILES status is EXPIRED & LOCKED
脚本正常工作,操作数据库正常。
编译后配置好Oracle客户端即可。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #oracle编译pkg之后中文出现