欢迎来到天天文库
浏览记录
ID:26676004
大小:56.50 KB
页数:5页
时间:2018-11-28
《如何配置ORACLE的PROC.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、如何配置ORACLE的PRO*C环境1、PRO*C:ORACLE数据库作为数据库产品中的佼佼者,应用十分广泛,随着对其应用的深入,使用ORACLE和C来编制应用系统成为许多系统的选择,而ORACLE和C语言的接口知识成为应该掌握的和十分有用的。PRO*C是ORACLE的预编译器是一种编程工具,通过它把SQL语句嵌入到C语言程序中。如图: 预编译器把源程序作为输入,然后翻译程序中嵌入的SQL语句,把它们转化成对标准的ORACLE运行库的调用,最后生成一个修改过的源程序。通过对修改过的源程序进行编译、链接,形成可执行文件。2、环境配
2、置:A、说明:ORACLE预编译器在ORACLE8I安装时是默认或选择安装的,安装了PRO*C,则在$ORACLE_HOME/bin路径下就有了可执行程序PROC,以及相应的未经配置预编译环境。为使PRO*C预编译器能工作我们还必须对环境做一些配置。ORACLE的PRO*C是对预编译器的选项值的改变来配置环境的。预编译指令基本格式如下:Proc选项名=选项值源文件也可把选项值的改变放到CONFIG指定的文件中做。PROC的选项auto_connect允许自动连接到ops$帐号char_map正在映射字符数组和字符串Close_o
3、n_commit关闭所有COMMIT游标codekr_c将要生成的代码类型Comp_charsetC编译器支持的字符集类型Config用另一配置文件覆盖系统配置文件Cpp_suffix覆盖缺省的C++文件名后缀dbmsnative兼容模式Def_sqlcode生成'#defineSQLCODEsqlca.sqlcode'宏Define定义预处理器符号Durationtransaction设置高速缓存中对象的pin持续时间Dynamic指定Oracle或ANSI动态SQL语义Errors是否将错误消息发送到终端Errtype输入文
4、件的列表文件名称错误FipsANSI的FIPS标志不符合用法Header为预编译标题指定文件扩展名hold_cursor在游标高速缓存中控制游标保留iname输入文件的名称Include包括文件的目录路径Intype有关类型信息的输入文件名称Lines将#line指令添加到生成的代码中Lname覆盖缺省列表文件名Ltype列表文件中生成的数据量maxliteral生成的文字串的最大长度maxopencursors高速缓存的开放游标的最大数量mode代码符合Oracle或ANSI规则Nls_char指定国家语言字符变量Nls_lo
5、cal控制NLS字符语义的实现方法Objects支持对象类型oname输出文件名oraca控制ORACA的使用Pagelen列表文件页面长度parse控制进行语法分析的非SQL代码prefetch游标OPEN期间预读取的行数Release_cursor控制从游标高速缓存中释放游标Select_error控制选择标记错误sqlcheck编译时间SQL校验总量Sys_include系统标题文件所在目录Threads指示多线程应用程序type_code将Oracle或ANSI类型代码用于动态SQLUnsafe_null允许在没有指示变
6、量的情况下进行>NULL读取Userid用户名/口令[@dbname]连接串Varchar允许使用隐式varchar结构Version将要返回的对象版本大部分选项我们都可以用默认值,但其中有几个选项是需要配置的。lCONFIG:指定PROC的CONFIG文件。PROC默认配置文件为$ORACLE_HOME/precomp/admin/pcscfg.cfg,我们可以编辑我们要使用的CONFIG文件。lINCLUDE:包括文件的目录路径,一般在CONFIG文件中配置,pcscfg.cfg中有默认定义。lSYS_INCLUDE:系统头
7、文件所在目录,一般在CONFIG文件中配置,pcscfg.cfg中有默认定义。但要注意可能默认的系统头文件的路径不对。如sys_include=($ORACLE_HOME/precomp/public,/usr/include,/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include)lUSERID:用户名/口令[@dbname]连接串B、配置:配置工作比较简单,只要将默认的>CONFIG文件COPY到源程序所在的路径下,修改其中的USERID。使用如下命令对PROC源文件进
8、行预编译,输出相应的C源程序。Procconfig=myconfg.cfginame=myprog.pconame=myprog.cPRO*C将对INAME指定的PROC源文件进行预编译,输出ONAME指定的文件。3、联编环境:预编译只是将PROC源文预编译成C
此文档下载收益归作者所有