📄 group__g__dirpath.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): Direct Path loading</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>Direct Path loading</h1><hr><a name="_details"></a><h2>Detailed Description</h2>OCILIB (from version 3.2.0) support the OCI direct Path API.<p>Actual implementation of direct path API does not support the following elements :<ul><li>Objects datatypes (User Defined Types and Object References)</li><li>Object tables</li><li>Nested tables</li><li>SQL String functions</li></ul><p>All scalar datatypes (numerics, characters and date/time), including LOBs and LONG types are supported<p><dl class="user" compact><dt><b>Oracle direct API features (from Oracle Documentation)</b></dt><dd>The direct path load interface allows an application to access the direct path load engine of the Oracle database server to perform the functions of the Oracle SQL*Loader utility. This functionality provides the ability to load data from external files into Oracle database objects, either a table or a partition of a partitioned table. The OCI direct path load interface has the ability to load multiple rows by loading a direct path stream which contains data for multiple rows.</dd></dl><dl class="user" compact><dt><b>Oracle direct API limitation (from Oracle Documentation)</b></dt><dd>The direct path load interface has the following limitations which are the same as SQL*Loader:<ul><li>triggers are not supported</li><li>check constraints are not supported</li><li>referential integrity constraints are not supported</li><li>clustered tables are not supported</li><li>loading of remote objects is not supported</li><li>user-defined types are not supported</li><li>LOBs must be specified after all scalar columns</li><li>LONGs must be specified last</li></ul></dd></dl><dl class="warning" compact><dt><b>Warning:</b></dt><dd>Its recommended to use direct path interface with an Oracle client that is the same version than the database. With version < 10g, it is mandatory regarding that it causes segmentation faults and it's known from Oracle that advices to use the same version for client and server (see metalink KB)</dd></dl><dl class="user" compact><dt><b>How to use direct path</b></dt><dd><ul><li>1 : Create a direct path handle with <a class="el" href="group__g__dirpath.html#g64dd9756aa24ead3addabf50db0d6f16" title="Create a direct path object.">OCI_DirPathCreate()</a></li><li>2 : Set (optional) some direct path load attributes</li><li>3 : Describe the columns to load with <a class="el" href="group__g__dirpath.html#g5811ff326acc9c863110d23c739aa4e7" title="Describe a column to load into the given table.">OCI_DirPathSetColumn()</a></li><li>4 : Populate data with <a class="el" href="group__g__dirpath.html#gaadd5e79891c24d0f9c99ed96e5fe608" title="Set the value of the given row/column array entry.">OCI_DirPathSetEntry()</a></li><li>5 : Convert the data with <a class="el" href="group__g__dirpath.html#g8dd680e9664028af035e773275e5ab76" title="Convert user provided data to a direct path stream format.">OCI_DirPathConvert()</a></li><li>6 : Load the data into the database with <a class="el" href="group__g__dirpath.html#g0c816466d046a3d8c179f779e273f456" title="Loads the data converted to direct path stream format.">OCI_DirPathLoad()</a></li><li>7 : Repeat step 4,5,6 + reset the stream with <a class="el" href="group__g__dirpath.html#g2efc984ff0647d3a3c4b29f7e9ec37e2" title="Reset internal arrays and streams to prepare another load.">OCI_DirPathReset()</a> until all rows has been loaded</li><li>8 : Commit the load with <a class="el" href="group__g__dirpath.html#g7c80a8db7ef79e4693ac0e770bb2018f" title="Terminate a direct path operation and commit changes into the database.">OCI_DirPathFinish()</a></li><li>9 : Free the direct path handle with <a class="el" href="group__g__dirpath.html#g024f04e69293349e3882b2f367a03ed6" title="Free an OCI_DirPath handle.">OCI_DirPathFree()</a></li></ul></dd></dl><dl class="user" compact><dt><b>Example</b></dt><dd><div class="fragment"><pre class="fragment"><span class="preprocessor">#include "ocilib.h"</span><span class="preprocessor">#define SIZE_ARRAY 1000</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_COL1 20</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_COL2 30</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_COL3 8</span><span class="preprocessor"></span><span class="preprocessor">#define NUM_COLS 3</span><span class="preprocessor"></span><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>){ <a class="code" href="struct_o_c_i___connection.html" title="Oracle physical connection.">OCI_Connection</a> *cn; <a class="code" href="struct_o_c_i___dir_path.html" title="OCILIB encapsulation of OCI Direct Path handle.">OCI_DirPath</a> *dp; <a class="code" href="struct_o_c_i___type_info.html" title="Type info metadata handle.">OCI_TypeInfo</a> *tbl; dtext val1[SIZE_COL1+1]; dtext val2[SIZE_COL2+1]; dtext val3[SIZE_COL3+1]; <span class="keywordtype">int</span> i = 0, nb_rows = SIZE_ARRAY; <span class="keywordflow">if</span> (!<a class="code" href="group__g__init.html#gcdb642d75f7c8478e083634144bc813c" title="Initializes the library.">OCI_Initialize</a>(NULL, NULL, OCI_ENV_DEFAULT)) <span class="keywordflow">return</span> EXIT_FAILURE; cn = <a class="code" href="group__g__connect.html#gdb6e2cdf759587dd81c2fda7c5f44338" title="Create a physical connection to an Oracle database server.">OCI_ConnectionCreate</a>(<span class="stringliteral">"db"</span>, <span class="stringliteral">"usr"</span>, <span class="stringliteral">"pwd"</span>, OCI_SESSION_DEFAULT); tbl = <a class="code" href="group__g__desc.html#g4990c22d2773746a0ab61ec95470445c" title="Retrieve the available type info information.">OCI_TypeInfoGet</a>(cn, <span class="stringliteral">"test_directpath"</span>, OCI_TIF_TABLE); dp = <a class="code" href="group__g__dirpath.html#g64dd9756aa24ead3addabf50db0d6f16" title="Create a direct path object.">OCI_DirPathCreate</a>(tbl, NULL, NUM_COLS, nb_rows); <span class="comment">/* optional attributes to set */</span> <a class="code" href="group__g__dirpath.html#ge25febeb9086f1604743fbf54a4cf677" title="Set the size of the internal stream transfer buffer.">OCI_DirPathSetBufferSize</a>(dp, 64000); <a class="code" href="group__g__dirpath.html#g59a031e1515afd31654105071dc7e371" title="Set the logging mode for the loading operation.">OCI_DirPathSetNoLog</a>(dp, TRUE); <a class="code" href="group__g__dirpath.html#gfab72b4c04bd2c5d3c850f58f5b22fd2" title="Set the parallel loading mode.">OCI_DirPathSetParallel</a>(dp, TRUE); <span class="comment">/* describe the target table */</span> <a class="code" href="group__g__dirpath.html#g5811ff326acc9c863110d23c739aa4e7" title="Describe a column to load into the given table.">OCI_DirPathSetColumn</a>(dp, 1, <span class="stringliteral">"VAL_INT"</span>, SIZE_COL1, NULL); <a class="code" href="group__g__dirpath.html#g5811ff326acc9c863110d23c739aa4e7" title="Describe a column to load into the given table.">OCI_DirPathSetColumn</a>(dp, 2, <span class="stringliteral">"VAL_STR"</span>, SIZE_COL2, NULL); <a class="code" href="group__g__dirpath.html#g5811ff326acc9c863110d23c739aa4e7" title="Describe a column to load into the given table.">OCI_DirPathSetColumn</a>(dp, 3, <span class="stringliteral">"VAL_DATE"</span>, SIZE_COL3, <span class="stringliteral">"YYYYMMDD"</span>); <span class="comment">/* prepare the load */</span> <a class="code" href="group__g__dirpath.html#g31aae5239710847d43b90166fedf0419" title="Prepares the OCI direct path load interface before any rows can be converted or loaded...">OCI_DirPathPrepare</a>(dp); nb_rows = <a class="code" href="group__g__dirpath.html#g2ff812128f1604615f186aa8bdf8269d" title="Return the maximum number of rows allocated in the OCI and OCILIB internal arrays...">OCI_DirPathGetMaxRows</a>(dp); <span class="keywordflow">for</span> (i = 1; i <= nb_rows; i++) { <span class="comment">/* fill test values */</span> sprint_dt(val1, SIZE_COL1+1, <span class="stringliteral">"%04d"</span>, i); sprint_dt(val2, SIZE_COL2+1, <span class="stringliteral">"value %05d"</span>, i); sprint_dt(val3, SIZE_COL3+1, <span class="stringliteral">"%04d%02d%02d"</span>, (i%23)+1 + 2000, (i%11)+1, (i%23)+1); <a class="code" href="group__g__dirpath.html#gaadd5e79891c24d0f9c99ed96e5fe608" title="Set the value of the given row/column array entry.">OCI_DirPathSetEntry</a>(dp, i, 1, val1, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) dtslen(val1), TRUE); <a class="code" href="group__g__dirpath.html#gaadd5e79891c24d0f9c99ed96e5fe608" title="Set the value of the given row/column array entry.">OCI_DirPathSetEntry</a>(dp, i, 2, val2, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) dtslen(val2), TRUE); <a class="code" href="group__g__dirpath.html#gaadd5e79891c24d0f9c99ed96e5fe608" title="Set the value of the given row/column array entry.">OCI_DirPathSetEntry</a>(dp, i, 3, val3, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) dtslen(val3), TRUE); } <span class="comment">/* load data to the server */</span> <a class="code" href="group__g__dirpath.html#g8dd680e9664028af035e773275e5ab76" title="Convert user provided data to a direct path stream format.">OCI_DirPathConvert</a>(dp); <a class="code" href="group__g__dirpath.html#g0c816466d046a3d8c179f779e273f456" title="Loads the data converted to direct path stream format.">OCI_DirPathLoad</a>(dp); <span class="comment">/* commits changes */</span> <a class="code" href="group__g__dirpath.html#g7c80a8db7ef79e4693ac0e770bb2018f" title="Terminate a direct path operation and commit changes into the database.">OCI_DirPathFinish</a>(dp); printf(<span class="stringliteral">"%04d row(s) processed\n"</span>, <a class="code" href="group__g__dirpath.html#gade590aadb20d903770d9dc9c82ddb0c" title="return the number of rows successfully processed during in the last conversion or...">OCI_DirPathGetAffectedRows</a>(dp)); printf(<span class="stringliteral">"%04d row(s) loaded\n"</span>, <a class="code" href="group__g__dirpath.html#gffb07d43825826b0c9af060ee52fc3e0" title="Return the number of rows successfully loaded into the database so far.">OCI_DirPathGetRowCount</a>(dp)); <span class="comment">/* free direct path object */</span> <a class="code" href="group__g__dirpath.html#g024f04e69293349e3882b2f367a03ed6" title="Free an OCI_DirPath handle.">OCI_DirPathFree</a>(dp); <a class="code" href="group__g__init.html#g639706aa8e9689c7ebffc018fac6d3ae" title="Clean up all resources allocated by the library.">OCI_Cleanup</a>(); <span class="keywordflow">return</span> EXIT_SUCCESS;}</pre></div> </dd></dl><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 <a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g64dd9756aa24ead3addabf50db0d6f16">OCI_DirPathCreate</a> (<a class="el" href="struct_o_c_i___type_info.html">OCI_TypeInfo</a> *typinf, mtext *partition, unsigned int nb_cols, unsigned int nb_rows)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Create a direct path object. <a href="#g64dd9756aa24ead3addabf50db0d6f16"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g024f04e69293349e3882b2f367a03ed6">OCI_DirPathFree</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Free an <a class="el" href="struct_o_c_i___dir_path.html" title="OCILIB encapsulation of OCI Direct Path handle.">OCI_DirPath</a> handle. <a href="#g024f04e69293349e3882b2f367a03ed6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g5811ff326acc9c863110d23c739aa4e7">OCI_DirPathSetColumn</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp, unsigned int index, mtext *name, unsigned int maxsize, mtext *format)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Describe a column to load into the given table. <a href="#g5811ff326acc9c863110d23c739aa4e7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g31aae5239710847d43b90166fedf0419">OCI_DirPathPrepare</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Prepares the OCI direct path load interface before any rows can be converted or loaded. <a href="#g31aae5239710847d43b90166fedf0419"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#gaadd5e79891c24d0f9c99ed96e5fe608">OCI_DirPathSetEntry</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp, unsigned int row, unsigned int index, void *value, unsigned size, boolean complete)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the value of the given row/column array entry. <a href="#gaadd5e79891c24d0f9c99ed96e5fe608"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT unsigned int OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g8dd680e9664028af035e773275e5ab76">OCI_DirPathConvert</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Convert user provided data to a direct path stream format. <a href="#g8dd680e9664028af035e773275e5ab76"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT unsigned int OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g0c816466d046a3d8c179f779e273f456">OCI_DirPathLoad</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Loads the data converted to direct path stream format. <a href="#g0c816466d046a3d8c179f779e273f456"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g2efc984ff0647d3a3c4b29f7e9ec37e2">OCI_DirPathReset</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Reset internal arrays and streams to prepare another load. <a href="#g2efc984ff0647d3a3c4b29f7e9ec37e2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g7c80a8db7ef79e4693ac0e770bb2018f">OCI_DirPathFinish</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Terminate a direct path operation and commit changes into the database. <a href="#g7c80a8db7ef79e4693ac0e770bb2018f"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g382a1cbd623aa97ca69fed7b26923d61">OCI_DirPathAbort</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Terminate a direct path operation without committing changes. <a href="#g382a1cbd623aa97ca69fed7b26923d61"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g39b093ea31cdee551552e35df8167a22">OCI_DirPathSave</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Execute a data savepoint (server side). <a href="#g39b093ea31cdee551552e35df8167a22"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#gfe3add5d1595fbabab7e197ce26f9a67">OCI_DirPathFlushRow</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Flushes a partially loaded row from server. <a href="#gfe3add5d1595fbabab7e197ce26f9a67"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g0062665eba53e0b62be65d4f0ee0df55">OCI_DirPathSetCurrentRows</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp, unsigned int nb_rows)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the current number of rows to convert and load. <a href="#g0062665eba53e0b62be65d4f0ee0df55"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT unsigned int OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#gfb5fd763a6a181a8aae27db13ca28735">OCI_DirPathGetCurrentRows</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the current number of rows used in the OCILIB internal arrays of rows. <a href="#gfb5fd763a6a181a8aae27db13ca28735"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT unsigned int OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g2ff812128f1604615f186aa8bdf8269d">OCI_DirPathGetMaxRows</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the maximum number of rows allocated in the OCI and OCILIB internal arrays of rows. <a href="#g2ff812128f1604615f186aa8bdf8269d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g0520cc694864d2eddba4857aaf77b2f6">OCI_DirPathSetDateFormat</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp, mtext *format)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the default date format string for input conversion. <a href="#g0520cc694864d2eddba4857aaf77b2f6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#gfab72b4c04bd2c5d3c850f58f5b22fd2">OCI_DirPathSetParallel</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp, boolean value)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the parallel loading mode. <a href="#gfab72b4c04bd2c5d3c850f58f5b22fd2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#g59a031e1515afd31654105071dc7e371">OCI_DirPathSetNoLog</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp, boolean value)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the logging mode for the loading operation. <a href="#g59a031e1515afd31654105071dc7e371"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#ga0976d38ccf4d6f09657115ad6e47880">OCI_DirPathSetCacheSize</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp, unsigned int size)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set number of elements in the date cache. <a href="#ga0976d38ccf4d6f09657115ad6e47880"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT boolean OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#ge25febeb9086f1604743fbf54a4cf677">OCI_DirPathSetBufferSize</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp, unsigned int size)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the size of the internal stream transfer buffer. <a href="#ge25febeb9086f1604743fbf54a4cf677"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT unsigned int OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#gffb07d43825826b0c9af060ee52fc3e0">OCI_DirPathGetRowCount</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of rows successfully loaded into the database so far. <a href="#gffb07d43825826b0c9af060ee52fc3e0"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT unsigned int OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__dirpath.html#gade590aadb20d903770d9dc9c82ddb0c">OCI_DirPathGetAffectedRows</a> (<a class="el" href="struct_o_c_i___dir_path.html">OCI_DirPath</a> *dp)</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -