当前位置: 首页 > Linux

Linux安装GolangOracle数据库驱动

时间:2023-04-06 12:02:38 Linux

要将Golang连接到Oracle,您需要安装OracleFullClient或InstantClient。Oracle的InstantClient套件下载地址#选择InstantClientforLinuxx86-64下载包如下:instantclient-basic-linux.x64-21.1.0.0.0.zipinstantclient-sqlplus-linux。x64-21.1.0.0.0.zipininstantclient-sdk-linux.x64-21.1.0.0.0.zip#解压到instantclient_21_1目录,直接解压到instantclient_21_1目录unzipinstantclient-basic-linux.x64-21.1.0.0.0.zipunzipinstantclient-sdk-linux.x64-21.1.0.0.0.zipunzipinstantclient-sqlplus-linux.x64-21.1.0.0.0.zip#打印instantclient_21_1目录路径pwd/home/oracle/instantclient_21_1安装pkg-configCentOS自带pkg-config,这里没有安装/instantclient_21_1libdir=${prefix}includedir=${prefix}/sdk/include/glib_genmarshal=glib-genmarshalgobject_query=gobject-queryglib_mkenums=glib-mkenumsName:oci8Description:oci8libraryLibs:-L${libdir}-lclntshCflagincludedir}Version:21.1配置环境变量vim/etc/profile最后添加如下环境变量#Oracle'sOCIsuiteexportLD_LIBRARY_PATH=/home/oracle/instantclient_21_1#oci8.pc文件所在路径exportPKG_CONFIG_PATH=/home/oracle使配置生效source/etc/profileRunGolangtoconnecttoOracleError1:#github.../github.com/mattn/go-oci8/c_helpers.go:3:0:./oci8.go.h:1:17中包含的com/mattn/go-oci8In文件:致命错误:oci.h:没有这样的文件或目录#include^编译终止。是因为配置的环境变量,oci8.pc文件路径错误,找不到oci8.pc文件。注意这个路径配置是exportPKG_CONFIG_PATH=/home/oracle运行Golang连接Oracle报错2:dyld:Librarynotloaded:@rpath/libclntsh.dylib.19.1Referencedfrom:/var/folders/_f/n3km_s7j6_9f8qzpkf9w395h0000gn/T/go-build114883♂/b001/exe/oracleoci8原因:imagenotfound添??加软链接解决Errorln-s/home/oracle/instantclient_21_1/libclntsh.so.21.1/usr/lib/libclntsh.soln-s/home/oracle/instantclient_21_1/libocci.so.21.1/usr/lib/libocci.soln-s/home/oracle/instantclient_21_1/libociei.so/usr/lib/libociei.soln-s/home/oracle/instantclient_21_1/libnnz21.so/usr/lib/libnnz12.so