📄 group__g__lob.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): Internal Large Objects (LOBs)</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>Internal Large Objects (LOBs)</h1><hr><a name="_details"></a><h2>Detailed Description</h2>Large Objects (LOBs) were introduced with Oracle 8i to replace LONGs<p>Oracle OCI supplies a set APIs to manipulate this datatype.<p>OCILIB encapsulates this API by supplying :<p><ul><li>An <a class="el" href="struct_o_c_i___lob.html" title="Oracle Internal Large objects :.">OCI_Lob</a> C type</li><li>A set of really easy APIs to manipulate <a class="el" href="struct_o_c_i___lob.html" title="Oracle Internal Large objects :.">OCI_Lob</a> objects</li></ul><p>OCIB currently supports 3 types of Lobs :<p><ul><li>BLOB : Binary LOBs (replacement for LONG RAW datatype)</li><li>CLOB : Character LOBs (replacement for LONG datatype)</li><li>NCLOB : National Character LOBs</li></ul><p><a class="el" href="struct_o_c_i___lob.html" title="Oracle Internal Large objects :.">OCI_Lob</a> objects can be :<p><ul><li>Created as standalone instances</li><li>Used for in/out binding</li><li>Retrieved from select statements</li><li>Manipulated (copy, append, ...)</li></ul><p><dl class="user" compact><dt><b>Lobs > 4 Go</b></dt><dd></dd></dl>Oracle 10g extended lobs by increasing maximum size from 4Go to 128 To.<p>OCILIB, with version 2.1.0, supports now this new limit. For Handling sizes and offsets up to 128 To, 64 bit integers are requested.<p>So, A new scalar integer type has been introduced : big_uint (olderly lobsize_t). This type can be a 32 bits or 64 bits integer depending on :<ul><li>Compiler support for 64 bits integers (C99 compiler, MS compilers)</li><li>Oracle client version</li></ul><p>big_uint will be a 64 bits integer :<ul><li>if the compiler supports it</li><li>if OCILIB is build with option OCI_IMPORT_LINKAGE and the Oracle version is >= 10.1</li><li>or OCILIB is build with option OCI_IMPORT_RUNTIME (oracle version is not known at compilation stage)</li></ul><p><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="keywordtype">int</span> main(){ <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___statement.html" title="Oracle SQL or PL/SQL statement.">OCI_Statement</a> *st; <a class="code" href="struct_o_c_i___lob.html" title="Oracle Internal Large objects :.">OCI_Lob</a> *lob1, *lob2; <span class="keywordtype">int</span> code, n; <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); st = <a class="code" href="group__g__exec.html#g335822f983af0fb5c529431f06a9a17b" title="Create a statement object and return its handle.">OCI_StatementCreate</a>(cn); <a class="code" href="group__g__exec.html#gf2163ec44e644cc734c393188707985b" title="Parse and execute a SQL statement or PL/SQL block.">OCI_ExecuteStmt</a>(st, <span class="stringliteral">"select code, content from test_lob for update"</span>); rs = <a class="code" href="group__g__fetch.html#gf2a9e28b66a9538ba0ffb62bffb87c16" title="Retrieve the resultset handle from an executed statement.">OCI_GetResultset</a>(st); <span class="keywordflow">while</span> (<a class="code" href="group__g__fetch.html#g36ac26dcea78f6074421781e401f97ba" title="Fetch the next row of the resultset.">OCI_FetchNext</a>(rs)) { code = <a class="code" href="group__g__fetch.html#ga8d80dc30b2012eaddd13efa9dfb711d" title="Return the current integer value of the column at the given index in the resultset...">OCI_GetInt</a>(rs, 1); lob1 = <a class="code" href="group__g__fetch.html#gbac23a7dea02963ef8de438950ef6fae" title="Return the current lob value of the column at the given index in the resultset.">OCI_GetLob</a>(rs, 2); lob2 = <a class="code" href="group__g__lob.html#g318f1273603e24b51c3d9e4c29f42685" title="Create a local temporary Lob instance.">OCI_LobCreate</a>(cn, OCI_CLOB); n = <a class="code" href="group__g__lob.html#g949f7050609430486c9ef0f3c488d38a" title="Write a buffer into a LOB.">OCI_LobWrite</a>(lob1, <span class="stringliteral">"Today, "</span>, 7); <a class="code" href="group__g__lob.html#g63df7f944c418642fc04571a4a522b87" title="Perfom a seek operation on the OCI_lob content buffer.">OCI_LobSeek</a>(lob1, n, OCI_SEEK_SET); n = <a class="code" href="group__g__lob.html#g949f7050609430486c9ef0f3c488d38a" title="Write a buffer into a LOB.">OCI_LobWrite</a>(lob2, <span class="stringliteral">"I'm going to the cinema !"</span>, 25); <a class="code" href="group__g__lob.html#gcda64fca2ab7eb9d8a8d68190b13a285" title="Append a source LOB at the end of a destination LOB.">OCI_LobAppendLob</a>(lob1, lob2); <a class="code" href="group__g__lob.html#g63df7f944c418642fc04571a4a522b87" title="Perfom a seek operation on the OCI_lob content buffer.">OCI_LobSeek</a>(lob1, 0, OCI_SEEK_SET); n = <a class="code" href="group__g__lob.html#g36708313dc7d5c0b2c30f7f8b9fa2e2d" title="Read a portion of a lob into the given buffer.">OCI_LobRead</a>(lob1, temp, 100); temp[n] = 0; printf(<span class="stringliteral">"code: %i, action : %s\n"</span>, code, temp); <a class="code" href="group__g__lob.html#gac269a3de312c2c7d1a6193a9ab79545" title="Free a local temporary lob.">OCI_LobFree</a>(lob2); } printf(<span class="stringliteral">"\n%d row(s) fetched\n"</span>, <a class="code" href="group__g__fetch.html#g93bd9197720088dbda2bef593ad1c07c" title="Retrieve the number of rows fetched so far.">OCI_GetRowCount</a>(rs)); <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___lob.html">OCI_Lob</a> *OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__lob.html#g318f1273603e24b51c3d9e4c29f42685">OCI_LobCreate</a> (<a class="el" href="struct_o_c_i___connection.html">OCI_Connection</a> *con, unsigned int type)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Create a local temporary Lob instance. <a href="#g318f1273603e24b51c3d9e4c29f42685"></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__lob.html#gac269a3de312c2c7d1a6193a9ab79545">OCI_LobFree</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">Free a local temporary lob. <a href="#gac269a3de312c2c7d1a6193a9ab79545"></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__lob.html#g08db605f9acb170ddc9b0f403f65d871">OCI_LobGetType</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 type of the given Lob object. <a href="#g08db605f9acb170ddc9b0f403f65d871"></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__lob.html#g63df7f944c418642fc04571a4a522b87">OCI_LobSeek</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, big_uint offset, unsigned int mode)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Perfom a seek operation on the OCI_lob content buffer. <a href="#g63df7f944c418642fc04571a4a522b87"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT big_uint OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__lob.html#gb3bc556383addcbd81f7e4158757626e">OCI_LobGetOffset</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 current position in the Lob content buffer. <a href="#gb3bc556383addcbd81f7e4158757626e"></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__lob.html#g36708313dc7d5c0b2c30f7f8b9fa2e2d">OCI_LobRead</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, void *buffer, unsigned int len)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Read a portion of a lob into the given buffer. <a href="#g36708313dc7d5c0b2c30f7f8b9fa2e2d"></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__lob.html#g949f7050609430486c9ef0f3c488d38a">OCI_LobWrite</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, void *buffer, unsigned int len)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Write a buffer into a LOB. <a href="#g949f7050609430486c9ef0f3c488d38a"></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__lob.html#g75a8049251e51665b3103789573a3a3b">OCI_LobTruncate</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, big_uint size)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Truncate the given lob to a shorter length. <a href="#g75a8049251e51665b3103789573a3a3b"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT big_uint OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__lob.html#g1fed642e2fdc4b72724340e27e13153e">OCI_LobGetLength</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 actual lenght of a lob. <a href="#g1fed642e2fdc4b72724340e27e13153e"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OCI_EXPORT big_uint OCI_API </td><td class="memItemRight" valign="bottom"><a class="el" href="group__g__lob.html#g8187347b6578c04aef6f6e7baa949c09">OCI_LobErase</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, big_uint offset, big_uint len)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Erase a portion of the lob at a given position. <a href="#g8187347b6578c04aef6f6e7baa949c09"></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__lob.html#g7bfac772587753b2cef9c5a704ae7ce9">OCI_LobAppend</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, void *buffer, unsigned int len)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Append a buffer at the end of a LOB. <a href="#g7bfac772587753b2cef9c5a704ae7ce9"></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__lob.html#gcda64fca2ab7eb9d8a8d68190b13a285">OCI_LobAppendLob</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, <a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob_src)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Append a source LOB at the end of a destination LOB. <a href="#gcda64fca2ab7eb9d8a8d68190b13a285"></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__lob.html#g642bbf0e0fa52f9900aa332ec2d70cdb">OCI_LobIsTemporary</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">Check if the given lob is a temporary lob. <a href="#g642bbf0e0fa52f9900aa332ec2d70cdb"></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__lob.html#ge53d9ad9e0c1db7cc1942775aa4e70c3">OCI_LobCopy</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, <a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob_src, big_uint offset_dst, big_uint offset_src, big_uint count)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Copy a portion of a source LOB into a destination LOB. <a href="#ge53d9ad9e0c1db7cc1942775aa4e70c3"></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__lob.html#g3cd99f8efdcdbfdc4c273e72c3bde4cc">OCI_LobCopyFromFile</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, <a class="el" href="struct_o_c_i___file.html">OCI_File</a> *file, big_uint offset_dst, big_uint offset_src, big_uint count)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Copy a portion of a source FILE into a destination LOB. <a href="#g3cd99f8efdcdbfdc4c273e72c3bde4cc"></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__lob.html#g191f3b34b55bac65e994f18118080a08">OCI_LobOpen</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, unsigned int mode)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Open explicitly a Lob. <a href="#g191f3b34b55bac65e994f18118080a08"></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__lob.html#g8eb276acd9cb2d5ddda85f3f19ec8f9c">OCI_LobClose</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">Close explicitly a Lob. <a href="#g8eb276acd9cb2d5ddda85f3f19ec8f9c"></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__lob.html#g2440e9d98b1a647c6f681d30dcf9cb59">OCI_LobIsEqual</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, <a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob2)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Compare two lob handles for equality. <a href="#g2440e9d98b1a647c6f681d30dcf9cb59"></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__lob.html#g30c335eb342272b308eb3746e5b4ea75">OCI_LobAssign</a> (<a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob, <a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> *lob_src)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Assign a lob to another one. <a href="#g30c335eb342272b308eb3746e5b4ea75"></a><br></td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="g7bfac772587753b2cef9c5a704ae7ce9"></a><!-- doxytag: member="ocilib.h::OCI_LobAppend" ref="g7bfac772587753b2cef9c5a704ae7ce9" args="(OCI_Lob *lob, void *buffer, unsigned int len)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_LobAppend </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> * </td> <td class="paramname"> <em>lob</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Append a buffer at the end of a LOB. <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>lob</em> </td><td>- Lob handle </td></tr> <tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td>- Pointer to a buffer </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>- Length of the buffer (in bytes or characters)</td></tr> </table></dl><dl class="note" compact><dt><b>Note:</b></dt><dd>Length is expressed in :<ul><li>Bytes for BLOBs</li><li>Characters for CLOBs</li></ul></dd></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes / characters written on success otherwise 0 on failure </dd></dl><p>Definition at line <a class="el" href="lob_8c-source.html#l00665">665</a> of file <a class="el" href="lob_8c-source.html">lob.c</a>.</p><p>References <a class="el" href="ocilib__types_8h-source.html#l00405">OCI_Lob::con</a>, <a class="el" href="ocilib__types_8h-source.html#l00237">OCI_Connection::cxt</a>, <a class="el" href="ocilib__types_8h-source.html#l00235">OCI_Connection::err</a>, <a class="el" href="ocilib__types_8h-source.html#l00403">OCI_Lob::handle</a>, <a class="el" href="group__g__lob.html#g1fed642e2fdc4b72724340e27e13153e">OCI_LobGetLength()</a>, <a class="el" href="group__g__lob.html#g63df7f944c418642fc04571a4a522b87">OCI_LobSeek()</a>, <a class="el" href="group__g__lob.html#g949f7050609430486c9ef0f3c488d38a">OCI_LobWrite()</a>, <a class="el" href="ocilib__types_8h-source.html#l00407">OCI_Lob::offset</a>, and <a class="el" href="ocilib__types_8h-source.html#l00406">OCI_Lob::type</a>.</p></div></div><p><a class="anchor" name="gcda64fca2ab7eb9d8a8d68190b13a285"></a><!-- doxytag: member="ocilib.h::OCI_LobAppendLob" ref="gcda64fca2ab7eb9d8a8d68190b13a285" args="(OCI_Lob *lob, OCI_Lob *lob_src)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobAppendLob </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> * </td> <td class="paramname"> <em>lob</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> * </td> <td class="paramname"> <em>lob_src</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Append a source LOB at the end of a destination LOB. <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>lob</em> </td><td>- Destination Lob handle </td></tr> <tr><td valign="top"></td><td valign="top"><em>lob_src</em> </td><td>- Source Lob 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="lob_8c-source.html#l00763">763</a> of file <a class="el" href="lob_8c-source.html">lob.c</a>.</p><p>References <a class="el" href="ocilib__types_8h-source.html#l00405">OCI_Lob::con</a>, <a class="el" href="ocilib__types_8h-source.html#l00237">OCI_Connection::cxt</a>, <a class="el" href="ocilib__types_8h-source.html#l00235">OCI_Connection::err</a>, <a class="el" href="ocilib__types_8h-source.html#l00403">OCI_Lob::handle</a>, <a class="el" href="group__g__lob.html#g1fed642e2fdc4b72724340e27e13153e">OCI_LobGetLength()</a>, and <a class="el" href="ocilib__types_8h-source.html#l00407">OCI_Lob::offset</a>.</p></div></div><p><a class="anchor" name="g30c335eb342272b308eb3746e5b4ea75"></a><!-- doxytag: member="ocilib.h::OCI_LobAssign" ref="g30c335eb342272b308eb3746e5b4ea75" args="(OCI_Lob *lob, OCI_Lob *lob_src)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobAssign </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_o_c_i___lob.html">OCI_Lob</a> * </td> <td class="paramname"> <em>lob</em>, </td> </tr> <tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -