lua 访问oracle,lua链接oracle解决方法与步骤

测试环境centos7

1) 使用luajit ,这个比较简单,下载luajit源码,编译即可

省略

以下是具体操作步骤:

参考文章:http://www.programgo.com/article/15452439520/

但是步骤写的有点快,很难解决问题,所以重新来搞一下:

2) 下载luasql,

git clone https://github.com/keplerproject/luasql.gi

3) 编译make odbc

需要修改源代码目录中的config文件

调整lua相关的路径

LUA_LIBDIR =

LUA_DIC = /usr/local/bin/luajit-2.0.4

LUA_INC = /usr/local/include/luajit-2.0/

make odbc,提示找不到sql.h文件

需要安装unixODBC

yum install unixODBC unixODBC-devel -y

编译之后,执行make install

odbc.so文件被复制到/luasql目录中

4) 需要编译oci8

make oci8   需要oracle中的开发包,

A: 需要下载:

版本号需要对应一下,下载链接地址,请移步: 需要登录

oracle-instantclient-basic-10.2.0.4-1.i386.zip

oracle-instantclient-devel-10.2.0.4-1.i386.zip     //这个是sdk 的,文件名上没有说明,特此说明

oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip  (注意版本号)

1) base,2)devel 3) sqlplus ,下载rpm包  使用 rpm -ivh xxx.rpm来安装(注意下载与系统符合的x64)

B: 修复config文件修改

DRIVER_LIBS_oci8 ?= -L/usr/lib/oracle/12.1/client64/lib/ -lclntshcore -lclntsh -lipc1 -lmql1 -lnnz12 -locci -lociei -locijdbc12 -lons -loramysql12 -lsqlplusic -lsqlplus ###注意标色的,不然会出现下面的错误

DRIVER_INCS_oci8 ?= -I/usr/include/oracle/12.1/client64/

备注上面的路径为默认的安装路径,请对应好自己的路径

需要将oracle的so做链接,放到lib64下面,不然即使编译成功,lua库找不到,

ln -s /usr/lib/oracle/12.1/client64/lib/libclntsh.so.12.1 /lib64/libclntsh.so.12.1

ln -s /usr/lib/oracle/12.1/client64/lib/libipc1.so /lib64/libipc1.so

ln -s /usr/lib/oracle/12.1/client64/lib/libmql1.so /lib64/libmql1.so

ln -s /usr/lib/oracle/12.1/client64/lib/libnnz12.so /lib64/libnnz12.so

ln -s /usr/lib/oracle/12.1/client64/lib/libocci.so.12.1 /lib64/libocci.so.12.1

ln -s /usr/lib/oracle/12.1/client64/lib/libociei.so /lib64/libociei.so

ln -s /usr/lib/oracle/12.1/client64/lib/libocijdbc12.so /lib64/libocijdbc12.so

ln -s /usr/lib/oracle/12.1/client64/lib/libons.so /lib64/libons.so

ln -s /usr/lib/oracle/12.1/client6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值