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

📄 lob_8c-source.html

📁 ORACLE编程的好东西,纯C写的OCI封装.很好用,支持数据池.
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00433"></a>00433 <span class="preprocessor">#ifdef OCI_LOB2_API_ENABLED</span><a name="l00434"></a>00434 <span class="preprocessor"></span><a name="l00435"></a>00435     <span class="keywordflow">if</span> (OCILib.use_lob_ub8)<a name="l00436"></a>00436     {<a name="l00437"></a>00437          OCI_CALL2<a name="l00438"></a>00438          (<a name="l00439"></a>00439             res, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>, <a name="l00440"></a>00440             <a name="l00441"></a>00441             OCILobTrim2(lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#bd1e86de291b7773f17282a1e9f79bd6">handle</a>, (ub8) size)<a name="l00442"></a>00442          )<a name="l00443"></a>00443     }<a name="l00444"></a>00444     <span class="keywordflow">else</span><a name="l00445"></a>00445 <a name="l00446"></a>00446 <span class="preprocessor">#endif</span><a name="l00447"></a>00447 <span class="preprocessor"></span> <a name="l00448"></a>00448     {<a name="l00449"></a>00449         ub4 size32 = (ub4) size;<a name="l00450"></a>00450 <a name="l00451"></a>00451         OCI_CALL2<a name="l00452"></a>00452         (<a name="l00453"></a>00453             res, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>, <a name="l00454"></a>00454             <a name="l00455"></a>00455             OCILobTrim(lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#bd1e86de291b7773f17282a1e9f79bd6">handle</a>, size32)<a name="l00456"></a>00456         )<a name="l00457"></a>00457     }<a name="l00458"></a>00458 <a name="l00459"></a>00459     OCI_RESULT(res);<a name="l00460"></a>00460 <a name="l00461"></a>00461     <span class="keywordflow">return</span> res;<a name="l00462"></a>00462 }<a name="l00463"></a>00463 <a name="l00464"></a>00464 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00465"></a>00465 <span class="comment"> * OCI_LobErase</span><a name="l00466"></a>00466 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00467"></a>00467 <a name="l00468"></a><a class="code" href="group__g__lob.html#g8187347b6578c04aef6f6e7baa949c09">00468</a> big_uint OCI_API <a class="code" href="group__g__lob.html#g8187347b6578c04aef6f6e7baa949c09" title="Erase a portion of the lob at a given position.">OCI_LobErase</a>(<a class="code" href="struct_o_c_i___lob.html" title="Oracle Internal Large objects :.">OCI_Lob</a> *lob, big_uint offset, big_uint size)<a name="l00469"></a>00469 {<a name="l00470"></a>00470     <span class="keywordtype">boolean</span> res  = TRUE;<a name="l00471"></a>00471 <a name="l00472"></a>00472     OCI_CHECK_PTR(OCI_IPC_LOB, lob, 0);<a name="l00473"></a>00473     OCI_CHECK_MIN(lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>, NULL, size, 1, 0);<a name="l00474"></a>00474 <a name="l00475"></a>00475 <span class="preprocessor"> #ifdef OCI_LOB2_API_ENABLED</span><a name="l00476"></a>00476 <span class="preprocessor"></span><a name="l00477"></a>00477     <span class="keywordflow">if</span> (OCILib.use_lob_ub8)<a name="l00478"></a>00478     {<a name="l00479"></a>00479         OCI_CALL2<a name="l00480"></a>00480         (<a name="l00481"></a>00481             res, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>, <a name="l00482"></a>00482             <a name="l00483"></a>00483             OCILobErase2(lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#bd1e86de291b7773f17282a1e9f79bd6">handle</a>, <a name="l00484"></a>00484                          (ub8 *) &amp;size, (ub8) (offset + 1))<a name="l00485"></a>00485          )<a name="l00486"></a>00486     }<a name="l00487"></a>00487     <span class="keywordflow">else</span><a name="l00488"></a>00488 <a name="l00489"></a>00489 <span class="preprocessor">#endif</span><a name="l00490"></a>00490 <span class="preprocessor"></span> <a name="l00491"></a>00491     {<a name="l00492"></a>00492         ub4 size32   = (ub4) size;<a name="l00493"></a>00493         ub4 offset32 = (ub4) offset;<a name="l00494"></a>00494 <a name="l00495"></a>00495         OCI_CALL2<a name="l00496"></a>00496         (<a name="l00497"></a>00497             res, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>, <a name="l00498"></a>00498             <a name="l00499"></a>00499             OCILobErase(lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#bd1e86de291b7773f17282a1e9f79bd6">handle</a>, <a name="l00500"></a>00500                         &amp;size32, offset32 + 1)<a name="l00501"></a>00501         )<a name="l00502"></a>00502 <a name="l00503"></a>00503         size = (big_uint) size32;<a name="l00504"></a>00504     }<a name="l00505"></a>00505                             <a name="l00506"></a>00506     OCI_RESULT(res);<a name="l00507"></a>00507 <a name="l00508"></a>00508     <span class="keywordflow">return</span> size;<a name="l00509"></a>00509 }<a name="l00510"></a>00510 <a name="l00511"></a>00511 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00512"></a>00512 <span class="comment"> * OCI_LobGetLength</span><a name="l00513"></a>00513 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00514"></a>00514 <a name="l00515"></a><a class="code" href="group__g__lob.html#g1fed642e2fdc4b72724340e27e13153e">00515</a> big_uint OCI_API <a class="code" href="group__g__lob.html#g1fed642e2fdc4b72724340e27e13153e" title="Return the actual lenght of a lob.">OCI_LobGetLength</a>(<a class="code" href="struct_o_c_i___lob.html" title="Oracle Internal Large objects :.">OCI_Lob</a> *lob)<a name="l00516"></a>00516 {<a name="l00517"></a>00517     <span class="keywordtype">boolean</span> res   = TRUE;<a name="l00518"></a>00518     big_uint size = 0;<a name="l00519"></a>00519 <a name="l00520"></a>00520     OCI_CHECK_PTR(OCI_IPC_LOB, lob, 0);<a name="l00521"></a>00521  <a name="l00522"></a>00522 <span class="preprocessor">#ifdef OCI_LOB2_API_ENABLED</span><a name="l00523"></a>00523 <span class="preprocessor"></span><a name="l00524"></a>00524     <span class="keywordflow">if</span> (OCILib.use_lob_ub8)<a name="l00525"></a>00525     {<a name="l00526"></a>00526         OCI_CALL2<a name="l00527"></a>00527         (<a name="l00528"></a>00528             res, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>, <a name="l00529"></a>00529             <a name="l00530"></a>00530             OCILobGetLength2(lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#bd1e86de291b7773f17282a1e9f79bd6">handle</a>, <a name="l00531"></a>00531                              (ub8 *) &amp;size)<a name="l00532"></a>00532         )<a name="l00533"></a>00533     }<a name="l00534"></a>00534     <span class="keywordflow">else</span><a name="l00535"></a>00535 <a name="l00536"></a>00536 <span class="preprocessor">#endif</span><a name="l00537"></a>00537 <span class="preprocessor"></span> <a name="l00538"></a>00538     {<a name="l00539"></a>00539         ub4 size32 = (ub4) size;<a name="l00540"></a>00540    <a name="l00541"></a>00541         OCI_CALL2<a name="l00542"></a>00542         (<a name="l00543"></a>00543             res, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>, <a name="l00544"></a>00544             <a name="l00545"></a>00545             OCILobGetLength(lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#bd1e86de291b7773f17282a1e9f79bd6">handle</a>, &amp;size32)<a name="l00546"></a>00546         )<a name="l00547"></a>00547 <a name="l00548"></a>00548         size = (big_uint) size32;<a name="l00549"></a>00549     }<a name="l00550"></a>00550 <a name="l00551"></a>00551     OCI_RESULT(res);<a name="l00552"></a>00552 <a name="l00553"></a>00553     <span class="keywordflow">return</span> size;<a name="l00554"></a>00554 }<a name="l00555"></a>00555 <a name="l00556"></a>00556 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00557"></a>00557 <span class="comment"> * OCI_LobCopy</span><a name="l00558"></a>00558 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00559"></a>00559 <a name="l00560"></a><a class="code" href="group__g__lob.html#ge53d9ad9e0c1db7cc1942775aa4e70c3">00560</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__lob.html#ge53d9ad9e0c1db7cc1942775aa4e70c3" title="Copy a portion of a source LOB into a destination LOB.">OCI_LobCopy</a>(<a class="code" href="struct_o_c_i___lob.html" title="Oracle Internal Large objects :.">OCI_Lob</a> *lob, <a class="code" href="struct_o_c_i___lob.html" title="Oracle Internal Large objects :.">OCI_Lob</a> *lob_src, big_uint offset_dst,<a name="l00561"></a>00561                             big_uint offset_src, big_uint count)<a name="l00562"></a>00562 {<a name="l00563"></a>00563     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00564"></a>00564 <a name="l00565"></a>00565     OCI_CHECK_PTR(OCI_IPC_LOB, lob,     FALSE);<a name="l00566"></a>00566     OCI_CHECK_PTR(OCI_IPC_LOB, lob_src, FALSE);<a name="l00567"></a>00567 <a name="l00568"></a>00568 <span class="preprocessor">#ifdef OCI_LOB2_API_ENABLED</span><a name="l00569"></a>00569 <span class="preprocessor"></span><a name="l00570"></a>00570     <span class="keywordflow">if</span> (OCILib.use_lob_ub8)<a name="l00571"></a>00571     {<a name="l00572"></a>00572  <a name="l00573"></a>00573         OCI_CALL2<a name="l00574"></a>00574         (<a name="l00575"></a>00575             res, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>, <a name="l00576"></a>00576             <a name="l00577"></a>00577             OCILobCopy2(lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#17646b1cc70c0c914ecb28849333fa65">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, lob-&gt;<a class="code" href="struct_o_c_i___lob.html#bd1e86de291b7773f17282a1e9f79bd6">handle</a>,<a name="l00578"></a>00578                        lob_src-&gt;<a class="code" href="struct_o_c_i___lob.html#bd1e86de291b7773f17282a1e9f79bd6">handle</a>, (ub8) count, <a name="l00579"></a>00579                        (ub8) (offset_dst + 1), <a name="l00580"></a>00580                        (ub8) (offset_src + 1))<a name="l00581"></a>00581         )

⌨️ 快捷键说明

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