📄 ch4_comp.htm
字号:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//en"
"http://www.w3c.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" sml:lang="en" lang="en">
<head>
<!-- Run date = May 1, 2002 19:19:1 -->
<meta name="XHTML Generator" content="Oracle SGML to XHTML converter - Version 3.1.2">
<title> Using Oracle Precompilers and the Oracle Call Interface </title>
<link rel="next" href="ch5_net.htm" title="Next">
</head>
<body bgcolor="#ffffff">
<a id="top" name="top"></a>
<a href="#BEGIN">Skip Headers</a><br><br>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td align="left" valign="top"><font face="helvetica, arial, sans-serif">
<b>Oracle9<em>i</em> Administrator's Reference </b>
<br />
<b>Release 2 (9.2.0.1.0) for UNIX Systems: AIX-Based Systems, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel, and Sun Solaris</b>
<br />
Part No. A97297-01
</font>
</td>
<td valign="bottom" align="right" width="144">
<table cellspacing="0" cellpadding="0" width="100%">
</tr>
<td align="center" valign="top" width="25%"><a href="toc.htm"><img src="../Support/gifs/conticon.gif" alt="Go To Table Of Contents" border="0" height="30" width="30"><br /><font size="-2">Contents</font></a></td>
<td align="center" valign="top" width="25%"><a href="index.htm"><img src="../Support/gifs/indxicon.gif" alt="Go To Index" border="0" height="30" width="30"><br /><font size="-2">Index</font></a></td>
</tr>
</table>
</td>
</tr>
</table>
<hr />
<p>
<a href="ch3_sql.htm">
<img src="../Support/gifs/larrow.gif" alt="Previous" border="0" height="30" width="30"></a>
<a href="ch5_net.htm">
<img src="../Support/gifs/rarrow.gif" alt="Next" border="0" height="30" width="30"></a>
</p>
<a name="BEGIN"></a>
<div class="IND">
<!-- End Header --><a id="i14323" name="i14323"></a>
<h1>
<font face="arial, helvetica, sans-serif" color="#330099">
4
<br />
Using Oracle Precompilers and the Oracle Call Interface
</font>
</h1>
<p>This chapter describes Oracle Precompilers and the Oracle Call Interface. It contains the following sections:
</p>
<ul>
<li type="disc">
<p><a href="#i33304">Overview of Oracle Precompilers</a>
</p>
</li>
<li type="disc">
<p><a href="#CHDHBDBF">Support for 32-Bit and 64-Bit Client Applications (AIX, HP, and Solaris 64-Bit Only)</a>
</p>
</li>
<li type="disc">
<p><a href="#i33246">Pro*C/C++ Precompiler</a>
</p>
</li>
<li type="disc">
<p><a href="#i36455">Pro*COBOL Precompiler (AIX, HP, Solaris, and Tru64 Only)</a>
</p>
</li>
<li type="disc">
<p><a href="#i28565">Pro*FORTRAN Precompiler (AIX, HP, Solaris, and Tru64 Only)</a>
</p>
</li>
<li type="disc">
<p><a href="#i38608">SQL*Module for Ada (Solaris 32-Bit and AIX Only)</a>
</p>
</li>
<li type="disc">
<p><a href="#i37921">Oracle Call Interface </a>
</p>
</li>
<li type="disc">
<p><a href="#i26133">Custom Make Files</a>
</p>
</li>
<li type="disc">
<p><a href="#i26152">Correcting Undefined Symbols (Solaris Only)</a>
</p>
</li>
<li type="disc">
<p><a href="#i26193">Multi-threaded Applications</a>
</p>
</li>
<li type="disc">
<p><a href="#i26199">Using Signal Handlers</a>
</p>
</li>
<li type="disc">
<p><a href="#i26396">XA Functionality</a>
</p>
<br /><table summary="This is a layout table to format a tip" title="This is a layout table to format a tip" dir="ltr" border="1" width="80%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0"><tbody>
<tr>
<td align="left" colspan="1" rowspan="1">
<p>
<font face="arial, helvetica, sans-serif">
<strong>See Also:</strong>
</font>
</p><a href="ch3_sql.htm#i2869">"Using Demonstration Tables"</a> for information on using SQL*Plus to create the demonstration tables.
</td>
</tr></tbody>
</table><br />
</li>
</ul><a id="i33304" name="i33304"></a>
<div class="sect1">
<!--
infolevel=all
infotype=general
--><a id="sthref457" name="sthref457"></a>
<h2>
<font face="arial, helvetica, sans-serif" color="#330099">Overview of Oracle Precompilers<a id="sthref458" name="sthref458"></a>
</font>
</h2>
<p>Oracle precompilers are application-development tools used to combine SQL statements for an Oracle database with programs written in a high-level language. Oracle precompilers are compatible with ANSI SQL and are used to develop open, customized applications that run with Oracle9<em>i</em> or any other ANSI SQL database management system.
</p>
<div class="sect2">
<!--
infolevel=all
infotype=general
--><a id="sthref459" name="sthref459"></a>
<h3>
<font face="arial, helvetica, sans-serif" color="#330099">
Precompiler Configuration Files<a id="sthref460" name="sthref460"></a><a id="sthref461" name="sthref461"></a>
</font>
</h3>
<p>Configuration files for the Oracle precompilers are located in the <code>$ORACLE_HOME/precomp/admin</code> directory. <a href="#g40004">Table 4-1</a> lists the names of the configuration files for each precompiler.
</p><a id="sthref462" name="sthref462"></a><a id="g40004" name="g40004"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 4-1 System Configuration Files for Oracle Precompilers
</font></em></strong></p>
<table title="System Configuration Files for Oracle Precompilers " summary="This table lists the system configuration files for Oracle Precompilers." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<thead>
<tr align="left" valign="top">
<th id="r1c1" align="left" colspan="1" rowspan="1" valign="bottom">
<font face="Arial, Helvetica, sans-serif">
<strong>Product
</strong></font></th>
<th id="r1c2" align="left" colspan="1" rowspan="1" valign="bottom">
<font face="Arial, Helvetica, sans-serif">
<strong>Configuration File
</strong></font></th>
</tr>
</thead><tbody>
<tr align="left" valign="top">
<td id="r2c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*C/C++ release 9.2.0.1.0
</td>
<td headers="r2c1 r1c2" align="left" colspan="1" rowspan="1"><code>pcscfg.cfg</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r3c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*COBOL release 9.2.0.1.0 (AIX, HP, Solaris, and Tru64 only)
</td>
<td headers="r3c1 r1c2" align="left" colspan="1" rowspan="1"><code>pcbcfg.cfg</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r4c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*COBOL release 1.8.77.0.0 (AIX, HP, Solaris, and Tru64 only)
</td>
<td headers="r4c1 r1c2" align="left" colspan="1" rowspan="1"><code>pcccob.cfg</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r5c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*FORTRAN release 1.8.77.0.0 (AIX, HP, Solaris, and Tru64 only)
</td>
<td headers="r5c1 r1c2" align="left" colspan="1" rowspan="1"><code>pccfor.cfg</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r6c1" headers="r1c1" align="left" colspan="1" rowspan="1">Object Type Translator release 9.2.0.1.0
</td>
<td headers="r6c1 r1c2" align="left" colspan="1" rowspan="1"><code>ottcfg.cfg</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r7c1" headers="r1c1" align="left" colspan="1" rowspan="1">Oracle SQL*Module for Ada release 9.2.0.1.0 (Solaris 32-bit and AIX only)
</td>
<td headers="r7c1 r1c2" align="left" colspan="1" rowspan="1"><code>pmscfg.cfg</code>
</td>
</tr></tbody>
</table>
</div class="sect2">
<div class="sect2">
<!--
infolevel=all
infotype=general
--><a id="sthref463" name="sthref463"></a>
<h3>
<font face="arial, helvetica, sans-serif" color="#330099">
Relinking Precompiler Executables
</font>
</h3>
<p>Use the <code>$ORACLE_HOME/precomp/lib/ins_precomp.mk</code> make file to relink all precompiler executables. To manually relink a particular precompiler executable, enter the following command:
</p>
<pre>$ make -f ins_precomp.mk relink EXENAME=<em>executable</em>
</pre>
<p>This command creates the new executable in the <code>$ORACLE_HOME/precomp/lib </code>directory, and then moves it to the <code>$ORACLE_HOME/bin</code> directory. To create the new executable without moving it to the <code>$ORACLE_HOME/bin</code> directory, enter the following command:
</p>
<pre>$ make -f ins_precomp.mk <em>executable</em>
</pre>
<p>In the preceding examples, <em><code>executable</code></em> is a product executable listed in <a href="#g39923">Table 4-2</a>.
</p><a id="sthref464" name="sthref464"></a><a id="g39923" name="g39923"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 4-2 Products and Their Corresponding Executable
</font></em></strong></p>
<table title="Products and Their Corresponding Executable " summary="This table lists products and their corresponding executable names." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<thead>
<tr align="left" valign="top">
<th id="r1c1" align="left" colspan="1" rowspan="1" valign="bottom">
<font face="Arial, Helvetica, sans-serif">
<strong>Product
</strong></font></th>
<th id="r1c2" align="left" colspan="1" rowspan="1" valign="bottom">
<font face="Arial, Helvetica, sans-serif">
<strong>Executable
</strong></font></th>
</tr>
</thead><tbody>
<tr align="left" valign="top">
<td id="r2c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*C/C++ release 9.2.0.1.0
</td>
<td headers="r2c1 r1c2" align="left" colspan="1" rowspan="1"><code>proc</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r3c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*COBOL release 9.2.0.1.0 (AIX, HP, Solaris, and Tru64 only)
</td>
<td headers="r3c1 r1c2" align="left" colspan="1" rowspan="1"><code>procob</code> or <code>rtsora</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r4c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*COBOL release 1.8.77.0.0 (AIX, HP, Solaris, and Tru64 only)
</td>
<td headers="r4c1 r1c2" align="left" colspan="1" rowspan="1"><code>procob18</code> or <code>rtsora</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r5c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*FORTRAN release 1.8.77.0.0 (AIX, HP, Solaris, and Tru64 only)
</td>
<td headers="r5c1 r1c2" align="left" colspan="1" rowspan="1"><code>profor</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r6c1" headers="r1c1" align="left" colspan="1" rowspan="1">Object Type Translator release 9.2.0.1.0
</td>
<td headers="r6c1 r1c2" align="left" colspan="1" rowspan="1"><code>ott</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r7c1" headers="r1c1" align="left" colspan="1" rowspan="1">Oracle SQL*Module for Ada release 9.2.0.1.0 (Solaris 32-bit and AIX only)
</td>
<td headers="r7c1 r1c2" align="left" colspan="1" rowspan="1"><code>modada</code>
</td>
</tr></tbody>
</table>
</div class="sect2">
<div class="sect2">
<!--
infolevel=all
infotype=general
--><a id="sthref465" name="sthref465"></a>
<h3>
<font face="arial, helvetica, sans-serif" color="#330099">
Precompiler README Files
</font>
</h3>
<p><a href="#g39879">Table 4-3</a> lists the location of the precompiler README files. The README files describe changes made to the precompiler since the last release.
</p><a id="sthref466" name="sthref466"></a><a id="g39879" name="g39879"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 4-3 Location of Precompiler README Files
</font></em></strong></p>
<table title="Location of Precompiler README Files" summary="This table lists the location of the README files for Oracle products." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<thead>
<tr align="left" valign="top">
<th id="r1c1" align="left" colspan="1" rowspan="1" valign="bottom">
<font face="Arial, Helvetica, sans-serif">
<strong>Precompiler
</strong></font></th>
<th id="r1c2" align="left" colspan="1" rowspan="1" valign="bottom">
<font face="Arial, Helvetica, sans-serif">
<strong>README File
</strong></font></th>
</tr>
</thead><tbody>
<tr align="left" valign="top">
<td id="r2c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*C/C++ release 9.2.0.1.0
</td>
<td headers="r2c1 r1c2" align="left" colspan="1" rowspan="1"><code>$ORACLE_HOME/precomp/doc/proc2/readme.doc</code>
</td>
</tr>
<tr align="left" valign="top">
<td id="r3c1" headers="r1c1" align="left" colspan="1" rowspan="1">Pro*COBOL release 9.2.0.1.0
</td>
<td headers="r3c1 r1c2" align="left" colspan="1" rowspan="1"><code>$ORACLE_HOME/precomp/doc/procob2/readme.doc</code>
</td>
</tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -