📄 group__g__handles.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>OCILIB (C Driver for Oracle): Using OCI Handles directly</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.4 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul></div><h1>Using OCI Handles directly</h1><hr><a name="_details"></a><h2>Detailed Description</h2>OCILIB conception was focused on a full but closed encapsulation of OCI.<p>All OCI headers, datatypes, prototypes are imported internally (linkage or runtime import).<p>OCILIB public interface exposes only ISO C scalar types and OCILIB objects<p>OCI is a wide and rich API that can deals with hundreds of options !<p>OCILIB tries to implements most of it. But, sometimes in really specific contexts, it might be necessary to directly call OCI APIs in order to use uncovered OCI functionalities or options<p>OCILIB proposes now a set of functions to retrieve its internal OCI handles<p><dl class="warning" compact><dt><b>Warning:</b></dt><dd></dd></dl>The OCILIB author strongly <b>advises</b> against the use of internal handles, unless there is no other way to accomplish the task<p><dl class="warning" compact><dt><b>Warning:</b></dt><dd></dd></dl>Using these handles for direct application calls to OCI might lead to OCILIB instability or crash if handles are incorrectly used ! <p><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#gcba3e4f3a6097cb9670240ead348aa50">OCI_HandleGetEnvironment</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI Environment Handle (OCIEnv *) of OCILIB livrary. <a href="#gcba3e4f3a6097cb9670240ead348aa50"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#gcfedb6c29c35b21f6e7137fa22181392">OCI_HandleGetContext</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI Context Handle (OCISvcCtx *) of an OCILIB <a class="el" href="struct_o_c_i___connection.html" title="Oracle physical connection.">OCI_Connection</a> object. <a href="#gcfedb6c29c35b21f6e7137fa22181392"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#g58d75b09cd2b2d0d153bd67fe3fc413a">OCI_HandleGetServer</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI Server Handle (OCIServer *) of an OCILIB <a class="el" href="struct_o_c_i___connection.html" title="Oracle physical connection.">OCI_Connection</a> object. <a href="#g58d75b09cd2b2d0d153bd67fe3fc413a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#g20acbd09d1fe49693dc3ea77af5dda9d">OCI_HandleGetError</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI Error Handle (OCIError *) of an OCILIB <a class="el" href="struct_o_c_i___connection.html" title="Oracle physical connection.">OCI_Connection</a> object. <a href="#g20acbd09d1fe49693dc3ea77af5dda9d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#gf74c060b9a861979b9a3af9bfc3904ed">OCI_HandleGetSession</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI Session Handle (OCISession *) of an OCILIB <a class="el" href="struct_o_c_i___connection.html" title="Oracle physical connection.">OCI_Connection</a> object. <a href="#gf74c060b9a861979b9a3af9bfc3904ed"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#gc271bea5fea0f4db1061c36abb585abf">OCI_HandleGetTransaction</a> (<a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *trans)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI Trasanction Handle (OCITrans *) of an OCILIB <a class="el" href="struct_o_c_i___transaction.html" title="Oracle Transaction.">OCI_Transaction</a> object. <a href="#gc271bea5fea0f4db1061c36abb585abf"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#ga870054550e796984ea130b6b319e6fc">OCI_HandleGetStatement</a> (<a class="el" href="struct_o_c_i___statement.html">OCI_Statement</a> *stmt)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI Statement Handle (OCIStmt *) of an OCILIB <a class="el" href="struct_o_c_i___statement.html" title="Oracle SQL or PL/SQL statement.">OCI_Statement</a> object. <a href="#ga870054550e796984ea130b6b319e6fc"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#g79f116a4f99c5ea9e88330a029f29e01">OCI_HandleGetLob</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI LobLocator Handle (OCILobLocator *) of an OCILIB <a class="el" href="struct_o_c_i___lob.html" title="Oracle Internal Large objects :.">OCI_Lob</a> object. <a href="#g79f116a4f99c5ea9e88330a029f29e01"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#g42becdda192abf5c57f121ea799ea6ec">OCI_HandleGetFile</a> (<a class="el" href="struct_o_c_i___file.html">OCI_File</a> *file)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI LobLocator Handle (OCILobLocator *) of an OCILIB <a class="el" href="struct_o_c_i___file.html" title="Oracle External Large objects :.">OCI_File</a> object. <a href="#g42becdda192abf5c57f121ea799ea6ec"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#g95406cd5356e04357fdd5b4adf93d370">OCI_HandleGetDate</a> (<a class="el" href="struct_o_c_i___date.html">OCI_Date</a> *date)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI Date Handle (OCIDate *) of an OCILIB <a class="el" href="struct_o_c_i___date.html" title="Oracle internal date representation.">OCI_Date</a> object. <a href="#g95406cd5356e04357fdd5b4adf93d370"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#gb7663ce1fd7cfbe74631ea01f3c580a6">OCI_HandleGetTimestamp</a> (<a class="el" href="struct_o_c_i___timestamp.html">OCI_Timestamp</a> *tmsp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the OCI Datetime Handle (OCIDatetime *) of an OCILIB <a class="el" href="struct_o_c_i___timestamp.html" title="Oracle internal timespamp representation.">OCI_Timestamp</a> object. <a href="#gb7663ce1fd7cfbe74631ea01f3c580a6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#g9427148da9fece5cf726ebac1f85037a">OCI_HandleGetInterval</a> (<a class="el" href="struct_o_c_i___interval.html">OCI_Interval</a> *itv)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return OCI Interval Handle (OCIInterval *) of an OCILIB <a class="el" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> object. <a href="#g9427148da9fece5cf726ebac1f85037a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#g120e32ba9b9ddc1ab4c41e944fc86764">OCI_HandleGetObject</a> (<a class="el" href="struct_o_c_i___object.html">OCI_Object</a> *obj)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return OCI Object Handle (void *) of an OCILIB <a class="el" href="struct_o_c_i___object.html" title="Oracle Named types representation.">OCI_Object</a> object. <a href="#g120e32ba9b9ddc1ab4c41e944fc86764"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#gc61db6d07b9e402fe60c5e4cda17fc00">OCI_HandleGetColl</a> (<a class="el" href="struct_o_c_i___coll.html">OCI_Coll</a> *coll)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return OCI Collection Handle (OCIColl *) of an OCILIB <a class="el" href="struct_o_c_i___coll.html" title="Oracle Collections (VARRAYs and Nested Tables) representation.">OCI_Coll</a> object. <a href="#gc61db6d07b9e402fe60c5e4cda17fc00"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#gf0b3b3abf1d48da90f37b564dafeac93">OCI_HandleGetMutex</a> (<a class="el" href="struct_o_c_i___mutex.html">OCI_Mutex</a> *mutex)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return OCI Mutex handle (OCIThreadMutex *) of an OCILIB <a class="el" href="struct_o_c_i___mutex.html" title="OCILIB encapsulation of OCI mutexes.">OCI_Mutex</a> object. <a href="#gf0b3b3abf1d48da90f37b564dafeac93"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#g94df890665f1f2ea39c3f4f4a00f9987">OCI_HandleGetThreadID</a> (<a class="el" href="struct_o_c_i___thread.html">OCI_Thread</a> *thread)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return OCI Thread ID (OCIThreadId *) of an OCILIB <a class="el" href="struct_o_c_i___thread.html" title="OCILIB encapsulation of OCI Threads.">OCI_Thread</a> object. <a href="#g94df890665f1f2ea39c3f4f4a00f9987"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT const void *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__handles.html#ga77980531a35fa442bfa3ef49f1a87af">OCI_HandleGetThread</a> (<a class="el" href="struct_o_c_i___thread.html">OCI_Thread</a> *thread)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return OCI Thread handle (OCIThreadHandle *) of an OCILIB <a class="el" href="struct_o_c_i___thread.html" title="OCILIB encapsulation of OCI Threads.">OCI_Thread</a> object. <a href="#ga77980531a35fa442bfa3ef49f1a87af"></a><br></td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="gc61db6d07b9e402fe60c5e4cda17fc00"></a><!-- doxytag: member="ocilib.h::OCI_HandleGetColl" ref="gc61db6d07b9e402fe60c5e4cda17fc00" args="(OCI_Coll *coll)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">OCI_EXPORT const void* OCI_API OCI_HandleGetColl </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_o_c_i___coll.html">OCI_Coll</a> * </td> <td class="paramname"> <em>coll</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Return OCI Collection Handle (OCIColl *) of an OCILIB <a class="el" href="struct_o_c_i___coll.html" title="Oracle Collections (VARRAYs and Nested Tables) representation.">OCI_Coll</a> object. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>coll</em> </td><td>- Collection handle</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>OCI Collection handle otherwise NULL </dd></dl><p>Definition at line <a class="el" href="handle_8c-source.html#l00210">210</a> of file <a class="el" href="handle_8c-source.html">handle.c</a>.</p><p>References <a class="el" href="ocilib__types_8h-source.html#l00526">OCI_Coll::handle</a>.</p></div></div><p><a class="anchor" name="gcfedb6c29c35b21f6e7137fa22181392"></a><!-- doxytag: member="ocilib.h::OCI_HandleGetContext" ref="gcfedb6c29c35b21f6e7137fa22181392" args="(OCI_Connection *con)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">OCI_EXPORT const void* OCI_API OCI_HandleGetContext </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> * </td> <td class="paramname"> <em>con</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Return the OCI Context Handle (OCISvcCtx *) of an OCILIB <a class="el" href="struct_o_c_i___connection.html" title="Oracle physical connection.">OCI_Connection</a> object. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>con</em> </td><td>- Connection handle</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>OCI Context handle otherwise NULL </dd></dl><p>Definition at line <a class="el" href="handle_8c-source.html#l00054">54</a> of file <a class="el" href="handle_8c-source.html">handle.c</a>.</p><p>References <a class="el" href="ocilib__types_8h-source.html#l00237">OCI_Connection::cxt</a>.</p></div></div><p><a class="anchor" name="g95406cd5356e04357fdd5b4adf93d370"></a><!-- doxytag: member="ocilib.h::OCI_HandleGetDate" ref="g95406cd5356e04357fdd5b4adf93d370" args="(OCI_Date *date)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">OCI_EXPORT const void* OCI_API OCI_HandleGetDate </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_o_c_i___date.html">OCI_Date</a> * </td> <td class="paramname"> <em>date</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Return the OCI Date Handle (OCIDate *) of an OCILIB <a class="el" href="struct_o_c_i___date.html" title="Oracle internal date representation.">OCI_Date</a> object. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>date</em> </td><td>- Date handle</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>OCI Date handle otherwise NULL </dd></dl><p>Definition at line <a class="el" href="handle_8c-source.html#l00158">158</a> of file <a class="el" href="handle_8c-source.html">handle.c</a>.</p><p>References <a class="el" href="ocilib__types_8h-source.html#l00448">OCI_Date::handle</a>.</p></div></div><p><a class="anchor" name="gcba3e4f3a6097cb9670240ead348aa50"></a><!-- doxytag: member="ocilib.h::OCI_HandleGetEnvironment" ref="gcba3e4f3a6097cb9670240ead348aa50" args="(void)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">OCI_EXPORT const void* OCI_API OCI_HandleGetEnvironment </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Return the OCI Environment Handle (OCIEnv *) of OCILIB livrary. <p><dl class="return" compact><dt><b>Returns:</b></dt><dd>OCI Environment handle otherwise NULL </dd></dl><p>Definition at line <a class="el" href="handle_8c-source.html#l00045">45</a> of file <a class="el" href="handle_8c-source.html">handle.c</a>.</p></div></div><p><a class="anchor" name="g20acbd09d1fe49693dc3ea77af5dda9d"></a><!-- doxytag: member="ocilib.h::OCI_HandleGetError" ref="g20acbd09d1fe49693dc3ea77af5dda9d" args="(OCI_Connection *con)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -