📄 group__g__demo.html
字号:
print_text(<span class="stringliteral">"\n"</span>); } } print_text(<span class="stringliteral">"> ERROR - MSG : "</span>); print_mstr(<a class="code" href="group__g__error.html#ga06418c61c432aaaa725fecdd28bcb96" title="Retrieve error message from error handle.">OCI_ErrorGetString</a>(err)); print_text(<span class="stringliteral">"\n"</span>); nb_err++;}<span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * main</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="keywordtype">int</span> mtmain(<span class="keywordtype">int</span> argc, mtarg* argv[]){ mtext home[SIZE_STR] = MT(<span class="stringliteral">""</span>); mtext dbs [SIZE_STR] = MT(<span class="stringliteral">""</span>); mtext usr [SIZE_STR] = MT(<span class="stringliteral">""</span>); mtext pwd [SIZE_STR] = MT(<span class="stringliteral">""</span>); <span class="keywordtype">size_t</span> i; <span class="comment">/* CHECK COMMAND LINE --------------------------------------------------- */</span> <span class="keywordflow">if</span> (argc < (ARG_COUNT-1)) { <span class="keywordflow">return</span> EXIT_FAILURE; } <span class="comment">/* GET ARGUMENTS ---------------------------------------------------------*/</span> GET_ARG(dbs, ARG_DB); GET_ARG(usr, ARG_USER); GET_ARG(pwd, ARG_PWD); <span class="keywordflow">if</span>(argc == ARG_COUNT) GET_ARG(home, ARG_HOME); <span class="comment">/* INITIALIZE OCI ------------------------------------------------------- */</span> <span class="keywordflow">if</span> (!<a class="code" href="group__g__init.html#gcdb642d75f7c8478e083634144bc813c" title="Initializes the library.">OCI_Initialize</a>(err_handler, home, OCI_ENV_DEFAULT)) <span class="keywordflow">return</span> EXIT_FAILURE; <span class="comment">/* CONNECTION TO SERVER ------------------------------------------------- */</span> print_text(<span class="stringliteral">"Connecting to "</span>); print_args(usr); print_text(<span class="stringliteral">"/"</span>); print_args(pwd); print_text(<span class="stringliteral">"@"</span>); print_args(dbs); print_text(<span class="stringliteral">"\n\n"</span>); cn = <a class="code" href="group__g__connect.html#gdb6e2cdf759587dd81c2fda7c5f44338" title="Create a physical connection to an Oracle database server.">OCI_ConnectionCreate</a>(dbs, usr, pwd, OCI_SESSION_DEFAULT); <span class="keywordflow">if</span> (cn) { st = <a class="code" href="group__g__exec.html#g335822f983af0fb5c529431f06a9a17b" title="Create a statement object and return its handle.">OCI_StatementCreate</a>(cn); print_version(); create_tables(); <span class="comment">/* execute tests */</span> <span class="keywordflow">for</span> (i = 0; i < ARRAY_COUNT(tab_test); i++) { tab_test[i].proc(); } drop_tables(); disconnect(); } <span class="keywordflow">else</span> { print_mstr(<a class="code" href="group__g__error.html#ga06418c61c432aaaa725fecdd28bcb96" title="Retrieve error message from error handle.">OCI_ErrorGetString</a>(<a class="code" href="group__g__error.html#gf2abe52ad5b278f65dd97a44a2adac4c" title="Retrieve the last error occurred within the last OCILIB call.">OCI_GetLastError</a>())); } cleanup(); print_text(<span class="stringliteral">"\npress any key to exit..."</span>); getchar(); <span class="keywordflow">return</span> EXIT_SUCCESS;}<span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * cleanup</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="keywordtype">void</span> cleanup(<span class="keywordtype">void</span>){ <a class="code" href="group__g__init.html#g639706aa8e9689c7ebffc018fac6d3ae" title="Clean up all resources allocated by the library.">OCI_Cleanup</a>(); print_frmt(<span class="stringliteral">"\n%i errors encountered\n\n"</span>, nb_err);}<span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * disconnect</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="keywordtype">void</span> disconnect(<span class="keywordtype">void</span>){ <a class="code" href="group__g__connect.html#gc3fe655e96074adb119908be4650a4c9" title="Close a physical connection to an Oracle database server.">OCI_ConnectionFree</a>(cn);}<span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * print_version</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="keywordtype">void</span> print_version(<span class="keywordtype">void</span>){ print_text(<span class="stringliteral">"\n>>>>> OCILIB BUILD INFORMATION \n\n"</span>); <span class="keywordflow">if</span> (<a class="code" href="group__g__init.html#gecbebbd3747c5012dfbf072f90e33c77" title="Return the Oracle shared library import mode.">OCI_GetImportMode</a>() == OCI_IMPORT_MODE_LINKAGE) print_text(<span class="stringliteral">"OCI import mode : LINKAGE\n"</span>); <span class="keywordflow">else</span> print_text(<span class="stringliteral">"OCI import mode : RUNTIME\n"</span>); <span class="keywordflow">if</span> (<a class="code" href="group__g__init.html#gb6f4587e77cfa0f0696f1a676080b9d7" title="Return the metadata charset type.">OCI_GetCharsetMetaData</a>() == OCI_CHAR_ANSI) print_text(<span class="stringliteral">"MetaData char type : ANSI\n"</span>); <span class="keywordflow">else</span> print_text(<span class="stringliteral">"MetaData char type : UNICODE\n"</span>); <span class="keywordflow">if</span> (<a class="code" href="group__g__init.html#ge4f4cbad741ad0c35d9470708a3a0f15" title="Return the user data charset type.">OCI_GetCharsetUserData</a>() == OCI_CHAR_ANSI) print_text(<span class="stringliteral">"UserData char type : ANSI\n"</span>); <span class="keywordflow">else</span> print_text(<span class="stringliteral">"UserData char type : UNICODE\n"</span>); print_text(<span class="stringliteral">"\n>>>>> VERSIONS INFORMATION \n\n"</span>); print_frmt(<span class="stringliteral">"OCILIB major version : %i\n"</span>, OCILIB_MAJOR_VERSION); print_frmt(<span class="stringliteral">"OCILIB minor version : %i\n"</span>, OCILIB_MINOR_VERSION); print_frmt(<span class="stringliteral">"OCILIB revision version : %i\n\n"</span>, OCILIB_REVISION_VERSION); <span class="comment">/* print all versions */</span> print_frmt(<span class="stringliteral">"OCI compile version : %i\n"</span>, <a class="code" href="group__g__init.html#g6fa5693d691752f93dbc6baf07e6cceb" title="Return the major version of OCI used for compilation.">OCI_GetOCICompileVersion</a>()); print_frmt(<span class="stringliteral">"OCI runtime version : %i\n\n"</span>, <a class="code" href="group__g__init.html#g771bf5d33dbd0b63d84242819209b35b" title="Return the major version of OCI used for compilation.">OCI_GetOCIRuntimeVersion</a>()); print_frmt(<span class="stringliteral">"Server major version : %i\n"</span>, <a class="code" href="group__g__connect.html#g2d7618d8eae73643dd75067a40e656a1" title="Return the major version number of the connected database server.">OCI_GetServerMajorVersion</a>(cn)); print_frmt(<span class="stringliteral">"Server minor version : %i\n"</span>, <a class="code" href="group__g__connect.html#g8f48a3c755751e5df415160913c6c7ee" title="Return the minor version number of the connected database server.">OCI_GetServerMinorVersion</a>(cn)); print_frmt(<span class="stringliteral">"Server revision version : %i\n\n"</span>, <a class="code" href="group__g__connect.html#ge4c3b37f1c9fc79d36220aa9c96d4415" title="Return the revision version number of the connected database server.">OCI_GetServerRevisionVersion</a>(cn)); print_frmt(<span class="stringliteral">"Connection version : %i\n\n"</span>, <a class="code" href="group__g__connect.html#g6f61147801fce4b69edb4981ba4ea1b7" title="Return the highest Oracle version is supported by the connection.">OCI_GetVersionConnection</a>(cn)); print_text(<span class="stringliteral">"\n>>>>> SERVER VERSION BANNER \n\n"</span>); <span class="comment">/* print server string version */</span> print_mstr(<a class="code" href="group__g__connect.html#ged47a25a1f96fd630f176fe702ac443a" title="Return the connected database server version.">OCI_GetVersionServer</a>(cn)); print_text(<span class="stringliteral">"\n\n"</span>);}<span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * create_tables</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="keywordtype">void</span> create_tables(<span class="keywordtype">void</span>){ print_text(<span class="stringliteral">"\n>>>>> CREATE TABLES FOR DEMO \n\n"</span>); <span class="comment">/* create types for the demo */</span> <a class="code" href="group__g__exec.html#gf2163ec44e644cc734c393188707985b" title="Parse and execute a SQL statement or PL/SQL block.">OCI_ExecuteStmt</a>(st, MT(<span class="stringliteral">"create type type_t as OBJECT (id int, name varchar2(50))"</span>)); <a class="code" href="group__g__exec.html#gf2163ec44e644cc734c393188707985b" title="Parse and execute a SQL statement or PL/SQL block.">OCI_ExecuteStmt</a>(st, MT(<span class="stringliteral">"create type test_t as object "</span>) MT(<span class="stringliteral">"( "</span>) MT(<span class="stringliteral">" val_int number, "</span>)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -