📄 index.html
字号:
* 2 - Function code * 3 - thread error status (optionnal) * 4 - Single exit point - OCILIB main header file (ocilib.h) moved from folder ./src to folder ./include. - For MS windows users, don't forget to update your compiler/IDE settings for include paths * Extended error handling - Updated section in the documentation (page <module>, section <Error handling>) - Major rewrite for the internal error handling code - Added support for thread contextual error handling * New Flag OCI_ENV_CONTEXT for <a class="code" href="group__g__init.html#gcdb642d75f7c8478e083634144bc813c" title="Initializes the library.">OCI_Initialize</a>() * Added <a class="code" href="group__g__error.html#gf2abe52ad5b278f65dd97a44a2adac4c" title="Retrieve the last error occured within the last OCILIB call.">OCI_GetLastError</a>() - Enforced input parameter checking - Added <a class="code" href="group__g__exec.html#gddfbdd24d8686d908e560611bb7b6cc7" title="Return the error position in the SQL statement where the error occured in case of...">OCI_GetSqlErrorPos</a>() to retrieve the position error in a SQL statement - Now, OCILIB calls guaranties to raise an error in any situation where it should instead of just returning to caller as it was doing before - Added some Memory checking: * OCILIB now keeps counts of all internal allocated OCI handles, descriptors and objects * <a class="code" href="group__g__init.html#g639706aa8e9689c7ebffc018fac6d3ae" title="Clean up all resources allocated by the library.">OCI_Cleanup</a>() will throw an error in case of unfreed OCI <span class="keywordtype">object</span> and returns FALSE - Modified return values for OCi_ErrorGetType() : * OCI_ERR_ORACLE : OCI calls error, SQL errors, ... * OCI_ERR_OCILIB : internal OCILIB and application logic errors - New exceptions are raised: * OCI_ERR_NONE : "No error" * OCI_ERR_NOT_INITIALIZED : "OCILIB has not been initialized" * OCI_ERR_LOADING_SHARED_LIB : "Cannot load OCI shared library (%lib_name%)" * OCI_ERR_LOADING_SYMBOLS : "Cannot load OCI symbols from shared library" * OCI_ERR_MULTITHREADED : "OCILIB has not been initialized in multithreaded mode" * OCI_ERR_MEMORY : "Memory allocation failure (type %type_name%, size : %block_size%)" * OCI_ERR_NOT_AVAILABLE : "Feature not available (%feature_name%) " * OCI_ERR_NULL_POINTER : "A null %type_name% has been provided" * OCI_ERR_NOT_SUPPORTED : "Oracle datatype not supported (sqlcode %oracle_code%) " (currently only REFs are not supported) * OCI_ERR_PARSE_TOKEN : "Unknown identifier %token% while parsing SQL" * OCI_ERR_MAP_ARGUMENT : "Unknown argument %arg_code% while retreiving data" * OCI_ERR_OUT_OF_BOUNDS : "Index %value% out of bounds. Must be between %min% and %max%" * OCI_ERR_UNFREED_DATA : "Found %nb% unfreed %data_type%" * OCI_ERR_MAX_BIND : "Maximum number of binds (%limit%) already reached" (currently 512) * OCI_ERR_ATTR_NOT_FOUND : "Object attribute '%name%' not found" * OCI_ERR_MIN_VALUE : "The integer parameter value must be at least %min%" * OCI_ERR_NOT_COMPATIBLE : "Elements are not compatibles (type 1 = %typecode1%, type 2 = %typecode2%)" * OCI_ERR_STMT_STATE : "Unable to perform this operation on a %stmt_state% statement" * OCI_ERR_STMT_NOT_SCROLLABLE : "The statement is not scrollable" - The exception OCI_ERR_NOT_INITIALIZED is only available with <a class="code" href="group__g__error.html#gf2abe52ad5b278f65dd97a44a2adac4c" title="Retrieve the last error occured within the last OCILIB call.">OCI_GetLastError</a>(), even if OCI_ENV_CONTEXT is not used with <a class="code" href="group__g__init.html#gcdb642d75f7c8478e083634144bc813c" title="Initializes the library.">OCI_Initialize</a>(), and is raised when calling OCI_XXXXCreate() to allocate OCILIB handles before any call to OCI_Initialize() * Extended implicit datatype conversions - Added <a class="code" href="group__g__connect.html#g591e0e1e49c7ff06e50f5ab17edf3dbf" title="Set the numeric format for implicit string / numeric conversions.">OCI_SetDefaultFormatNumeric</a>() - Added <a class="code" href="group__g__connect.html#g57c1be56edaf86588dfb7a1245bf5908" title="Return the current numeric format for implicit string / numeric conversions.">OCI_GetDefaultFormatNumeric</a>() - Added <a class="code" href="group__g__connect.html#g7fbe35082dadb74584cab6a89183aa19" title="Set the date format for implicit string / date conversions.">OCI_SetDefaultFormatDate</a>() - Added <a class="code" href="group__g__connect.html#g88036a98ff02dfadb2ad50800c38684c" title="Return the current date format for implicit string / date conversions.">OCI_GetDefaultFormatDate</a>() - Modified OCI_SetFormatDate() and OCI_GetFormatDate() that now are macro for compatibility with older code - Added support for implicit conversion: * String columns can be retrieved as numeric data * <a class="code" href="group__g__fetch.html#g755a9b07c174feacd05c86e0e44b0ab0" title="Return the current string value of the column at the given index in the resultset...">OCI_GetString</a>() and <a class="code" href="group__g__fetch.html#g755a9b07c174feacd05c86e0e44b0ab0" title="Return the current string value of the column at the given index in the resultset...">OCI_GetString</a>() can return <span class="keywordtype">string</span> data whatever the real type of the column (except for Object, Collection and Cursor based columns) * Improved internal numeric datatypes handling - Modified : public OCILIB datatype OCI_CDT_INTEGER and OCI_CDT_DOUBLE has been replaced by one datatype : OCI_CDT_NUMERIC - Modified : Now, all fetched numeric columns are internally mapped to OCINumber OCI type and to public type OCI_CDT_NUMERIC - Modified : Much cleaner, compact an easier code for handling OCI_GetXXXX() calls for all numeric types * Extended Date, timestamp and interval support - Added <a class="code" href="group__g__timestamp.html#g364aa28b777ed77ac6c66b7dd95926e8" title="Extract the date and time parts from a date handle.">OCI_TimestampGetDateTime</a>() - Added checks for securing input integer pointer : * <a class="code" href="group__g__date.html#ga20b12b698b3c244f7482aa0ed348be5" title="Extract the time part from a date handle.">OCI_DateGetTime</a>(), <a class="code" href="group__g__date.html#gdc1fad15bca1a1780d22148a104bcdbd" title="Extract the date part from a date handle.">OCI_DateGetDate</a>(), <a class="code" href="group__g__date.html#g0c33ca23c117aab2c8197ae7fdb657c8" title="Extract the date and time parts from a date handle.">OCI_DateGetDateTime</a>() * <a class="code" href="group__g__timestamp.html#g4c56996d6dc31b7a4373daa0018c88e1" title="Extract the time portion from a timestamp handle.">OCI_TimestampGetTime</a>(), <a class="code" href="group__g__timestamp.html#ge8b95bad27ed1bce2e9753e30d3fa26b" title="Extract the date part from a timestamp handle.">OCI_TimestampGetDate</a>(), <a class="code" href="group__g__timestamp.html#g364aa28b777ed77ac6c66b7dd95926e8" title="Extract the date and time parts from a date handle.">OCI_TimestampGetDateTime</a>(), <a class="code" href="group__g__timestamp.html#g807ca5a3e663b234945f9a018e88badb" title="Return the time zone (hour, minute) portion of a timestamp handle.">OCI_TimestampGetTimeZoneOffset</a>() * <a class="code" href="group__g__timestamp.html#g165e94c916375ea604737a2348c4d83b" title="Return the day / time portion of an interval handle.">OCI_IntervalGetDaySecond</a>(), <a class="code" href="group__g__timestamp.html#gf0632925b430ad8ff145e29936b7b592" title="Return the year / month portion of an interval handle.">OCI_IntervalGetYearMonth</a>() * Extended OCILIB documentation that has been updated and some precisions has been added: - Added : page <module> - section <PL/SQL support> with new code examples - Added : page <module> - section <Collections (Varrays and Nested Tables> with new code examples - Extended : page <module> - section <Error handling> for thread contextual error handling - Extended : page <module> - section <Fetching data> for scrollable cursors and <span class="keywordtype">string</span> conversions - Extended : page <module> - section <Library objects and datatypes>) for supported datatypes - Updated : page <module> - section <Charset support> - Modified : page <module> - section <Build Options> content moved to page <module> - section <Installing OCILIB> - Updated : miscellaneous changes * Miscellaneous changes - Modified : up to 110 various functions prototypes have been modified to change the type of the return value or some parameters from <span class="keywordtype">int</span> -> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> - Modified : <a class="code" href="group__g__fetch.html#gf2a9e28b66a9538ba0ffb62bffb87c16" title="Retrieve the resultset handle from an executed statement.">OCI_GetResultset</a>() returns now the first resultset if it exists instead of creating a new one - Modified : <a class="code" href="group__g__bind.html#g5e2b8cf5ec98a2e0379853387ea97c5e" title="Set the bind variable at the given index to null.">OCI_SetNull</a>() and <a class="code" href="group__g__bind.html#gd15c43afb43ae7ea7d7a8b8936faa6c8" title="Set to null the bind variable at the given position in an input array.">OCI_SetNullAtPos</a>() : now indexes and positions start at 1 - Modified : OCI_BIND_MAX (maximum number of binds for a statement) is now 512 by default instead of 256 - Modified : <a class="code" href="group__g__bind.html#g60d87fbeb94afeaf410ec243eb8c0f98" title="Set the input array size for bulk operations.">OCI_BindArraySetSize</a>() : param nbelem type modified from '<span class="keywordtype">int</span>' to '<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>' - Modified : <a class="code" href="group__g__hash.html#gac21d1abb64dd64e797b1fe8e8638675" title="Return the entry slot of the hash table internal list at the given position.">OCI_HashGetEntry</a>() : now indexes and positions start at 1 - Modified : Rearranged internal structures to respect alignment and avoid padding - Modified : <a class="code" href="group__g__hash.html#gac21d1abb64dd64e797b1fe8e8638675" title="Return the entry slot of the hash table internal list at the given position.">OCI_HashGetEntry</a>() : now indexes and positions start at 1 - Modified : return value in case of failure for <a class="code" href="group__g__transac.html#ge54af0bfb81cd2d21bea6451db491e60" title="Return global transaction mode.">OCI_TransactionGetMode</a>() [OCI_ERROR->OCI_UNKNOWN] and <a class="code" href="group__g__transac.html#g558f067c07970370c84b8e8463276f89" title="Return global transaction Timeout.">OCI_TransactionGetTimeout</a>() [OCI_ERROR -> 0] - Modified : OCI_GetColumnXXX() calls are now renamed to OCI_ColumnGetXXX() and old prototypes are maintained as macros for backward compatibility - Added : <a class="code" href="group__g__stmt.html#g1f051eb0e55245280385a19f20efe59a" title="Return the connection handle associated with a statement handle.">OCI_StatementGetConnection</a>() - Added : <a class="code" href="group__g__fetch.html#g86aa0344b7dbae62c4d1902a4638d663" title="Return the schema object associated to the column.">OCI_ColumnGetSchema</a>() - Added : <a class="code" href="group__g__fetch.html#g2fcdb71d8b82e97e87be7e256a8fb109" title="Return the object subtype of a column.">OCI_ColumnGetSubType</a>() - Added : support for MSVC6++/unicodes builds * Inclusion of wchar.h is now done in extern C++ block for MSVC6++ and cpp applications * swprintf() is mapped to _snwprintf() because VC6 C-library is not ISO C compliant * Fixed some Connection pools problems - Fixed : Connection pools : every call to <a class="code" href="group__g__connpool.html#g774ce156deb3477c83237a633b6538f6" title="Get a connection from the pool.">OCI_ConnPoolGetConnection</a>() was allocating internal data instead of using existing ones. - Fixed : Memory leak : internal connection transaction handle was never freed - Fixed : <a class="code" href="group__g__connpool.html#g55ba9db7940b0be1514ab3010c6a9e81" title="Create a Connection pool.">OCI_ConnPoolCreate</a>() : parameter 'incr_con' was not used (value '1' used instead) * Fixed some PL/SQL table problems
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -