这篇文章主要介绍Linux中如何安装Golang Oracle数据库驱动程序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
#选择Instant Client for Linux x86-64下载包如下: instantclient-basic-linux.x64-21.1.0.0.0.zip instantclient-sqlplus-linux.x64-21.1.0.0.0.zip instantclient-sdk-linux.x64-21.1.0.0.0.zip #都解压到 instantclient_21_1 这个目录,直接解压会解压到instantclient_21_1目录 unzip instantclient-basic-linux.x64-21.1.0.0.0.zip unzip instantclient-sdk-linux.x64-21.1.0.0.0.zip unzip instantclient-sqlplus-linux.x64-21.1.0.0.0.zip #打印instantclient_21_1目录的路径 pwd /home/oracle/instantclient_21_1
CentOS自带了pkg-config,这里不在安装
#打印pkg-config版本 pkg-config --version
vim /home/oracle/oci8.pc oci8.pc文件内容如下:
prefix=/home/oracle/instantclient_21_1 libdir=${prefix} includedir=${prefix}/sdk/include/ glib_genmarshal=glib-genmarshal gobject_query=gobject-query glib_mkenums=glib-mkenums Name: oci8 Description: oci8 library Libs: -L${libdir} -lclntsh Cflags: -I${includedir} Version: 21.1
vim /etc/profile 在最后添加如下环境变量
# Oracle的OCI套件 export LD_LIBRARY_PATH=/home/oracle/instantclient_21_1 # oci8.pc文件所在路径 export PKG_CONFIG_PATH=/home/oracle 使配置生效 source /etc/profile
# github.com/mattn/go-oci8 In file included from ../github.com/mattn/go-oci8/c_helpers.go:3:0: ./oci8.go.h:1:17: fatal error: oci.h: No such file or directory #include <oci.h> ^ compilation terminated.
是因为配置的环境变量,oci8.pc文件所在路径不对,找不到oci8.pc文件导致的 注意这个路径配置对 export PKG_CONFIG_PATH=/home/oracle
dyld: Library not loaded: @rpath/libclntsh.dylib.19.1 Referenced from: /var/folders/_f/n3km_s7j6_9f8qzpkf9w395h0000gn/T/go-build114883360/b001/exe/oracleoci8 Reason: image not found
添加软链接,解决报错
ln -s /home/oracle/instantclient_21_1/libclntsh.so.21.1 /usr/lib/libclntsh.so ln -s /home/oracle/instantclient_21_1/libocci.so.21.1 /usr/lib/libocci.so ln -s /home/oracle/instantclient_21_1/libociei.so /usr/lib/libociei.so ln -s /home/oracle/instantclient_21_1/libnnz21.so /usr/lib/libnnz12.so
以上是“Linux中如何安装Golang Oracle数据库驱动程序”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。