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

📄 ociextp.h

📁 SQLAPI C/C++ 连接Oracle 数据库!
💻 H
字号:
/* * $Header: /home/yas/cvs/SQLAPI/include/ora_linux/ociextp.h,v 1.1.1.1 2005/05/05 08:12:35 yas Exp $ *//* Copyright (c) Oracle Corporation 1996, 2000. All Rights Reserved. */  /*    NAME      ociextp.h - Interface Definitions for PL/SQL External Procedures   DESCRIPTION      This header file contains C language callable interface from      PL/SQL External Procedures.   PUBLIC FUNCTION(S)      OCIExtProcAllocCallMemory  - Allocate Call memory     OCIExtProcRaiseExcp        - Raise Exception     OCIExtProcRaiseExcpWithMsg - Raise Exception with message     OCIExtProcGetEnv           - Get OCI Environment   PRIVATE FUNCTION(S)     <list of static functions defined in .c file - with one-line descriptions>   EXAMPLES   NOTES     <other useful comments, qualifications, etc.>   MODIFIED   (MM/DD/YY)   abrumm      04/19/01 - move include of oci.h after defines/typedef   rdecker     02/22/01 - lint fix   bpalaval    02/08/01 - Change text to oratext.   sagrawal    06/16/00 - ref cursor in callouts   whe         09/01/99 - 976457:check __cplusplus for C++ code   asethi      04/15/99 - Created (by moving ociextp.h from /vobs/plsql/public)   rhari       03/25/97 - Use ifndef   rhari       12/18/96 - Include oratypes.h   rhari       12/11/96 - #416977, Flip values of return codes   rhari       12/02/96 - Define Return Code Macros   rhari       11/18/96 - Error number is int   rhari       10/30/96 - Fix OCIExtProcRaiseExcpWithMsg   rhari       10/30/96 - Get rid of warnings   rhari       10/04/96 - Fix OCIExtProcRaiseExcpWithMsg   rhari       09/23/96 - Creation*/ #ifndef OCIEXTP_ORACLE# define OCIEXTP_ORACLE# ifndef ORATYPES #  include <oratypes.h> # endif/*---------------------------------------------------------------------------                     PUBLIC TYPES AND CONSTANTS  ---------------------------------------------------------------------------*//* ----------------------------- Return Codes ----------------------------- *//* Success and Error return codes for certain external procedure interface  * functions. If a particular interface function returns OCIEXTPROC_SUCCESS * or OCIEXTPROC_ERROR, then applications must use these macros to check * for return values. * *     OCIEXTPROC_SUCCESS  -- External Procedure Success Return Code  *     OCIEXTPROC_ERROR    -- External Procedure Failure Return Code  */#define OCIEXTPROC_SUCCESS 0#define OCIEXTPROC_ERROR   1/* --------------------------- With-Context Type --------------------------- *//* * The C callable interface to PL/SQL External Procedures require the  * With-Context parameter to be passed. The type of this structure is  * OCIExtProcContext is is opaque to the user. * * The user can declare the With-Context parameter in the application as * *    OCIExtProcContext *with_context; */typedef struct OCIExtProcContext OCIExtProcContext;/* NOTE: OCIExtProcContext must be visible prior to including <oci.h> */# ifndef OCI_ORACLE#  include <oci.h># endif/* ----------------------- OCIExtProcAllocCallMemory ----------------------- *//* OCIExtProcAllocCallMemory *    Allocate N bytes of memory for the duration of the External Procedure. * *    Memory thus allocated will be freed by PL/SQL upon return from the *    External Procedure. You must not use any kind of 'free' function on  *    memory allocated by OCIExtProcAllocCallMemory. *    Use this function to allocate memory for function returns. *  * PARAMETERS * Input :  *    with_context - The with_context pointer that is passed to the C  *                   External Procedure. *                  Type of with_context : OCIExtProcContext * *    amount       - The number of bytes to allocate. *                   Type of amount : size_t * * Output : *    Nothing * * Return : *    An untyped (opaque) Pointer to the allocated memory.  * * Errors : *    A 0 return value should be treated as an error * * EXAMPLE  *  text *ptr = (text *)OCIExtProcAllocCallMemory(wctx, 1024) * */#define OCIExtProcAllocCallMemory(with_context, amount) \ociepacm(with_context, (size_t)amount)/* -------------------------- OCIExtProcRaiseExcp -------------------------- *//* OCIExtProcRaiseExcp *    Raise an Exception to PL/SQL. * *  Calling this function signalls an exception back to PL/SQL. After a *  successful return from this function, the External Procedure must start  *  its exit handling and return back to PL/SQL. Once an exception is  *  signalled to PL/SQL, INOUT and OUT arguments, if any, are not processed  *  at all. *  * PARAMETERS * Input : *   with_context - The with_context pointer that is passed to the C *                  External Procedure.  *                  Type of with_context : OCIExtProcContext * *   errnum       - Oracle Error number to signal to PL/SQL. errnum *                  must be a positive number and in the range 1 to 32767 *                  Type of errnum : int * Output : *   Nothing * * Return : *   OCIEXTPROC_SUCCESS - If the call was successful. *   OCIEXTPROC_ERROR   - If the call failed. * */#define OCIExtProcRaiseExcp(with_context, errnum) \ocieperr(with_context, (int)errnum)/* ---------------------- OCIExtProcRaiseExcpWithMsg ---------------------- *//* OCIExtProcRaiseExcpWithMsg *    Raise an exception to PL/SQL. In addition, substitute the *    following error message string within the standard Oracle error  *    message string. See note for OCIExtProcRaiseExcp *  * PARAMETERS * Input : *   with_context  - The with_context pointer that is passed to the C *                   External Procedure. *                   Type of with_context : OCIExtProcContext * *   errnum        - Oracle Error number to signal to PL/SQL. errnum *                   must be a positive number and in the range 1 to 32767 *                   Type of errnum : int *   errmsg        - The error message associated with the errnum. *                   Type of errmsg : char * *   len           - The length of the error message. 0 if errmsg is *                   null terminated string. *                   Type of len : size_t * Output : *   Nothing * * Return : *  OCIEXTPROC_SUCCESS - If the call was successful. *  OCIEXTPROC_ERROR   - If the call failed. * */#define OCIExtProcRaiseExcpWithMsg(with_context, errnum, errmsg, msglen) \ociepmsg(with_context, (int)errnum, errmsg, (size_t)msglen)/* --------------------------- OCIExtProcGetEnv --------------------------- *//* OCIExtProcGetEnv *    Get OCI Environment *  * PARAMETERS * Input : *    with_context - The with_context pointer that is passed to the C *                   External Procedure. * * Output : *    envh - The OCI Environment handle. *    svch - The OCI Service handle. *    errh - The OCI Error handle. * * Return : *  OCI_SUCCESS - Successful completion of the function. *  OCI_ERROR   - Error. * */#define OCIExtProcGetEnv(with_context, envh, svch, errh) \ociepgoe(with_context, envh, svch, errh)/* ------------------------ OCIInitializeStatementHandle ------------------- *//* OCIreateStatementHandle *    Initialize Statement Handle *  * PARAMETERS * Input : *    wctx     - The  *    cursorno - The cursor number for which we need to initialize *               the statement handle *    svch     - The OCI Service handle. * * Output : *    stmthp - The OCI Statement handle. *    errh   - The OCI Error handle. * * Return : *  OCI_SUCCESS - Successful completion of the function. *  OCI_ERROR   - Error. * */#define OCIInitializeStatementHandle(wctx, cursorno,  svch, stmthp, errh) \ociepish(wctx, cursorno, svch, stmthp, errh)sword ociepish(/*_ OCIExtProcContext*,eword,OCISvcCtx*,OCIStmt**,                 OCIError*_*/);/*---------------------------------------------------------------------------                     PRIVATE TYPES AND CONSTANTS  ---------------------------------------------------------------------------*//*---------------------------------------------------------------------------                           PUBLIC FUNCTIONS  ---------------------------------------------------------------------------*//*---------------------------------------------------------------------------                          PRIVATE FUNCTIONS  ---------------------------------------------------------------------------*/#if !defined(__STDC__) && !defined(__cplusplus)        /* K&R C - not ANSI C */dvoid *ociepacm(/*_ OCIExtProcContext *with_context, size_t amount _*/);#else                                                              /* ANSI C */dvoid *ociepacm(OCIExtProcContext *with_context, size_t amount);#endif#if !defined(__STDC__) && !defined(__cplusplus)        /* K&R C - not ANSI C */size_t ocieperr(/*_ OCIExtProcContext *with_context, int error_number _*/);#else                                                              /* ANSI C */size_t ocieperr(OCIExtProcContext *with_context, int error_number);#endif#if !defined(__STDC__) && !defined(__cplusplus)        /* K&R C - not ANSI C */size_t ociepmsg(/*_ OCIExtProcContext *with_context, int error_number,                 oratext *error_message, size_t len _*/);#else                                                              /* ANSI C */size_t ociepmsg(OCIExtProcContext *with_context, int error_number,                oratext *error_message, size_t len );#endif#if !defined(__STDC__) && !defined(__cplusplus)        /* K&R C - not ANSI C */sword ociepgoe(/*_ OCIExtProcContext *with_context, OCIEnv **envh,                OCISvcCtx **svch, OCIError **errh _*/);#else                                                              /* ANSI C */sword ociepgoe(OCIExtProcContext *with_context, OCIEnv **envh,                OCISvcCtx **svch, OCIError **errh);#endif#endif                                                     /* OCIEXTP_ORACLE */

⌨️ 快捷键说明

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