本文参考了以下地址的文章:
https://github.com/Centny/Centny/blob/master/Articles/How%20build%20github.com%3amattn%3ago-oci8.md?Golang通过Thrift框架完美实现跨语言调用 http://www.linuxidc.com/Linux/2013-09/90748.htmgolang里如何将一个struct指针转换成slice http://www.linuxidc.com/Linux/2013-04/83106.htmUbuntu 安装Go语言包 http://www.linuxidc.com/Linux/2013-05/85171.htm《Go语言编程》高清完整版电子书 http://www.linuxidc.com/Linux/2013-05/84709.htmGo语言并行之美 -- 超越 “Hello World” http://www.linuxidc.com/Linux/2013-05/83697.htm一、安装Oracle的OCI套件1、OCI下载链接页面下载(instantclient-basic,instantclient-sdk)
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
2、解压缩到同一个目录下,比如:instantclient_12_13、root权限移动文件夹到目录 /usr/lib 下2、root权限执行以下命令 ##? 其实直接cp拷贝过去也是一样的
ln /usr/lib/instantclient_12_1/libclntsh.so.12.1 /usr/lib/libclntsh.so
ln /usr/lib/instantclient_12_1/libocci.so.12.1 /usr/lib/libocci.so
ln /usr/lib/instantclient_12_1/libociei.so /usr/lib/libociei.so
ln /usr/lib/instantclient_12_1/libnnz12.so /usr/lib/libnnz12.so
## 以下两条是为了运行sqlplus命令
ln /usr/lib/instantclient_12_1/?libsqlplusic.so /usr/lib/libsqlplusic.so?
ln /usr/lib/instantclient_12_1/libsqlplus.so /usr/lib/libsqlplus.so?
?
##? 把 OCI路径加入系统加载动态库的路径中,并重新加载一次
?echo /opt/oracle/instantclient >> /etc/ld.so.conf
?ldconfig
3、安装pkg-config
4、在 /usr/lib/pkgconfig 目录下创建文件 oci8.pc,内容如下:
prefix=<replace instantclient path>
// 路径改为/usr/lib/instantclient_12_1
libdir=${prefix}
includedir=${prefix}/sdk/include/
Name: OCI
Description: Oracle database engine
Version: 12.1
// 版本改为实际的版本号
Libs: -L${libdir} -lclntsh
Libs.private:
Cflags: -I${includedir}
5、直接运行步骤6会报libaio不存在的错误,安装libaio库sudo apt-get install libaio16、安装go-oci8go get github.com/mattn/go-oci8?7、.bashrc 文件中添加系统变量# OCI安装目录?
export ORACLE_HOME=/usr/lib/instantclient_12_1
# ?tnsnames.ora 文件地址?
?export TNS_ADMIN=$ORACLE_HOME/network/admin
# OCI安装目录加入动态库加载路径?
?export LD_LIBRARY_PATH=$ORACLE_HOME
# oci8.pc文件所在路径
export PKG_CONFIG_PATH=/usr/lib/pkgconfig8、 tnsnames.ora 文件的内容?awsdb=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.126)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = awsdb)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-06/102787p2.htm
Ubuntu 14.04上怎样安装‘California’ 日历应用如何在Linux上使用命令行管理密码相关资讯 Golang Golang Ubuntu
- 安装Golang 1.6及开发环境 (今 10:19)
- 为什么我认为 “从 Python 转向 (08/23/2015 08:54:59)
- Ubuntu 14.04 上搭建 Golang 开发 (02/25/2015 11:35:03)
| - 在Visual Studio Code配置GoLang开 (01月02日)
- 使用Golang快速构建WEB应用 (03/02/2015 12:43:33)
- 二进制包安装Golang (02/19/2015 16:28:51)
|
本文评论 查看全部评论 (0)