- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
proc安装配置说明文档
Proc安装配置说明
Linux平台 由于proc预编译只能在Oracle环境下运行所以
一、安装oracle 客户端
rpm –ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
rpm –ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm
rpm –ivh oracle-instantclient11.2-precomp-11.2.0.3.0-1.i386.rpm
按照顺序安装 安装在默认路径下就行 这几个文件我们已经下载好了。
二、配置proc预编译环境
Oracle客户端安装好之后 在终端敲命令proc是没有,所以需要我们改下配置文件
1、vi ~/.bashrc
在里边加3句话
export ORACLE_HOME=/usr/lib/oracle/11.2/client
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$PATH:/sbin:/usr/sbin:$ORACLE_HOME/bin
2、在usr/lib/oracle/11.2/client下做个软链接:ln –s ./lib/precomp precomp
3、切换到根用户 到/usr/lib/oracle/11.2/client/precomp/admin/下 更改pcscfg.cfg文件
增加一句: sys_include=/usr/include/oracle/11.2/client
至此proc环境配置好了,现在可以健入proc命令就可以看到很多参数说明了
用C++写proc程序需在pcscfg.cfg中加入
code=cpp
cpp_suffix=cc
parse=none
SQLCHECK=SEMANTICS
三、联编环境
预编译指令基本格式如下:
Proc ? 选项名=选项值 ? 源文件 ?
最简单的就是敲入命令proc xx.pc 就会生成xx.c文件
还有些写法如:
proc parse=none iname=xx.pc oname=yy.c
iname是接源文件名 oname是新文件 这个可以随便自己取名字
parse参数说明:
parse = none所有宿主变量必须定义在声明段中。只有在声明段中的预编译指令才会识别。
Parse=partial可以识别所有的预编译指令,所有宿主变量必须定义在声明段中
Parse=full可以识别所有的预编译指令,可以直接使用C语法定义宿主变量,不必定义在声明段中。
加这些参数编译有时是因为每个人写的pc文件格式有可能不同
编译出来的C文件再用gcc进行编译时必须把oracle的库和头文件写入进去
如 gcc –g –o main main.c –I/usr/include/oracle/11.2/client –L/usr/lib/oracle/11.2/client/lib -lclntsh
另记:tuxedo服务端通过proc操作数据库时需注意事项
在安装和配置好tuxedo环境的前提下而且本机服务器必须能够连接到数据库:
例如:
客户端输入一字符串
服务端接收该字符串并连接数据库将该字符串插入某表中,然后将该字符串改成大写返回给客户端.
第一 远程客户端不变
只需改变服务端:将编写好的xx.pc文件编译成xx.c,切记不能再用gcc编译成可执行文件了,因为服务端里面只有一个tpinit函数,在启动tuxedo服务的时候就已经自动加载了main函数所以只能用buildserver
如果xx.pc写正确了,服务端基本上就没什么问题。
例如 buildserver –f main.c –o simpserv –s TOUPPER –l “-I/usr/include/oracle/11.2/client –L/usr/lib/oracle/11.2/clinet/lib –lclntsh” 这里-l参数就是需要把oracle所需的库和头文件编译进来。
NO-XA模式
文档评论(0)