⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 group__g__transac.html

📁 ORACLE编程的好东西,纯C写的OCI封装.很好用,支持数据池.
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!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): Managing transactions</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&nbsp;Page</span></a></li>    <li><a href="modules.html"><span>Modules</span></a></li>    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>    <li><a href="files.html"><span>Files</span></a></li>  </ul></div><h1>Managing transactions</h1><hr><a name="_details"></a><h2>Detailed Description</h2>OCILIB supports local and global transactions.<p>Local transactions are implicit within connection objects and there is no specific call or programming step for using it.<p>In order to control changes made in the database :<p><ul><li><a class="el" href="group__g__transac.html#gee1ba614ed2dc5bd83bf788ca08f3e71" title="Commit current pending changes.">OCI_Commit()</a> validates current pending modifications</li><li><a class="el" href="group__g__transac.html#g50742bf6db9f580194d2433b8d310f5e" title="Cancel current pending changes.">OCI_Rollback()</a> discards current pending modifications</li></ul><p>OCILIB supports a feature called 'AutoCommit' that performs an implicit and automatic commit call after every execute call<p><dl class="note" compact><dt><b>Note:</b></dt><dd>Those actions are executed within a connection context and not directly to a transaction.</dd></dl><dl class="warning" compact><dt><b>Warning:</b></dt><dd>Global transactions are optionnal and are designed for distributed or global transaction environments.</dd></dl>OCILIB supports them by :<p><ul><li>Creating/Destroying explicitly a transaction object</li><li>Starting/Stopping/Resuming explicitly the transaction</li><li>Preparing the transaction for specific calls </li></ul><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 boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#gee1ba614ed2dc5bd83bf788ca08f3e71">OCI_Commit</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Commit current pending changes.  <a href="#gee1ba614ed2dc5bd83bf788ca08f3e71"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#g50742bf6db9f580194d2433b8d310f5e">OCI_Rollback</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cancel current pending changes.  <a href="#g50742bf6db9f580194d2433b8d310f5e"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#g8a21e8ab3893ae71ff8d8f6c9795566d">OCI_SetAutoCommit</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con, boolean enable)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable / disable auto commit mode.  <a href="#g8a21e8ab3893ae71ff8d8f6c9795566d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#gbb9c795b1a971cf2bb2b9a57a97de7cf">OCI_GetAutoCommit</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get current auto commit mode status.  <a href="#gbb9c795b1a971cf2bb2b9a57a97de7cf"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT <a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#g206d14aa9a25befd218a7f91a56d5c47">OCI_TransactionCreate</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con, unsigned int timeout, unsigned int mode, <a class="el" href="struct_o_c_i___x_i_d.html">OCI_XID</a> *pxid)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new global transaction or a serializable/read-only local transaction.  <a href="#g206d14aa9a25befd218a7f91a56d5c47"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#gab96c358fd6074b5d4f027bd86cfa229">OCI_TransactionFree</a> (<a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *trans)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free current transaction.  <a href="#gab96c358fd6074b5d4f027bd86cfa229"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#gf8e8d8d04d91f2c18dbf34d875b8e42f">OCI_TransactionStart</a> (<a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *trans)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start global transaction.  <a href="#gf8e8d8d04d91f2c18dbf34d875b8e42f"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#g7ede55e97d4012c7ea43df2bec40762e">OCI_TransactionStop</a> (<a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *trans)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop current global transaction.  <a href="#g7ede55e97d4012c7ea43df2bec40762e"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#g59e8bd076231e597b5f74bc02c976577">OCI_TransactionResume</a> (<a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *trans)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resume a stoppped global transaction.  <a href="#g59e8bd076231e597b5f74bc02c976577"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#gf5c5db14eb32609314ccae72c891ebfc">OCI_TransactionPrepare</a> (<a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *trans)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepare a global transaction validation.  <a href="#gf5c5db14eb32609314ccae72c891ebfc"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#gdebbc2e16eea8f328b6d5dfb49a9d5c5">OCI_TransactionForget</a> (<a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *trans)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cancel the prepared global transaction validation.  <a href="#gdebbc2e16eea8f328b6d5dfb49a9d5c5"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT unsigned int OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#ge54af0bfb81cd2d21bea6451db491e60">OCI_TransactionGetMode</a> (<a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *trans)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return global transaction mode.  <a href="#ge54af0bfb81cd2d21bea6451db491e60"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT unsigned int OCI_API&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__transac.html#g558f067c07970370c84b8e8463276f89">OCI_TransactionGetTimeout</a> (<a class="el" href="struct_o_c_i___transaction.html">OCI_Transaction</a> *trans)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return global transaction Timeout.  <a href="#g558f067c07970370c84b8e8463276f89"></a><br></td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="gee1ba614ed2dc5bd83bf788ca08f3e71"></a><!-- doxytag: member="ocilib.h::OCI_Commit" ref="gee1ba614ed2dc5bd83bf788ca08f3e71" args="(OCI_Connection *con)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">OCI_EXPORT boolean OCI_API OCI_Commit           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *&nbsp;</td>          <td class="paramname"> <em>con</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Commit current pending changes. <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>&nbsp;</td><td>- Connection handle</td></tr>  </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on success otherwise FALSE </dd></dl><p>Definition at line <a class="el" href="connection_8c-source.html#l00584">584</a> of file <a class="el" href="connection_8c-source.html">connection.c</a>.</p><p>References <a class="el" href="ocilib__types_8h-source.html#l00237">OCI_Connection::cxt</a>, and <a class="el" href="ocilib__types_8h-source.html#l00235">OCI_Connection::err</a>.</p><p>Referenced by <a class="el" href="group__g__exec.html#g7189aa353845909aaedc8d5956429450">OCI_Execute()</a>, and <a class="el" href="group__g__transac.html#g7ede55e97d4012c7ea43df2bec40762e">OCI_TransactionStop()</a>.</p></div></div><p><a class="anchor" name="gbb9c795b1a971cf2bb2b9a57a97de7cf"></a><!-- doxytag: member="ocilib.h::OCI_GetAutoCommit" ref="gbb9c795b1a971cf2bb2b9a57a97de7cf" args="(OCI_Connection *con)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">OCI_EXPORT boolean OCI_API OCI_GetAutoCommit           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *&nbsp;</td>          <td class="paramname"> <em>con</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Get current auto commit mode status. <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>&nbsp;</td><td>- Connection handle</td></tr>  </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if auto commit mode is activated otherwise FALSE </dd></dl><p>Definition at line <a class="el" href="connection_8c-source.html#l00643">643</a> of file <a class="el" href="connection_8c-source.html">connection.c</a>.</p><p>References <a class="el" href="ocilib__types_8h-source.html#l00238">OCI_Connection::autocom</a>.</p></div></div><p><a class="anchor" name="g50742bf6db9f580194d2433b8d310f5e"></a><!-- doxytag: member="ocilib.h::OCI_Rollback" ref="g50742bf6db9f580194d2433b8d310f5e" args="(OCI_Connection *con)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">OCI_EXPORT boolean OCI_API OCI_Rollback           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *&nbsp;</td>          <td class="paramname"> <em>con</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Cancel current pending changes. <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>&nbsp;</td><td>- Connection handle</td></tr>  </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on success otherwise FALSE </dd></dl><p>Definition at line <a class="el" href="connection_8c-source.html#l00606">606</a> of file <a class="el" href="connection_8c-source.html">connection.c</a>.</p><p>References <a class="el" href="ocilib__types_8h-source.html#l00237">OCI_Connection::cxt</a>, and <a class="el" href="ocilib__types_8h-source.html#l00235">OCI_Connection::err</a>.</p><p>Referenced by <a class="el" href="group__g__transac.html#g7ede55e97d4012c7ea43df2bec40762e">OCI_TransactionStop()</a>.</p></div></div><p><a class="anchor" name="g8a21e8ab3893ae71ff8d8f6c9795566d"></a><!-- doxytag: member="ocilib.h::OCI_SetAutoCommit" ref="g8a21e8ab3893ae71ff8d8f6c9795566d" args="(OCI_Connection *con, boolean enable)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">OCI_EXPORT boolean OCI_API OCI_SetAutoCommit           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *&nbsp;</td>          <td class="paramname"> <em>con</em>, </td>        </tr>        <tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -