亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cdemodp.c

?? 調用OCI的C++類
?? C
?? 第 1 頁 / 共 5 頁
字號:
STATICF void init_obj_load(ctlp, tblp, objp)struct loadctl *ctlp;struct tbl     *tblp;struct obj     *objp;{  struct  col   *colp;  struct  fld   *fldp;  sword          ociret;                       /* return code from OCI calls*/  ub2            i;  ub4            pos;  ub2            numCols;  ub4            len;  ub2            type;  ub1            exprtype;  ub1            parmtyp;  OCIParam      *colDesc;                     /* column parameter descriptor*/  OCIParam      *objColLstDesc;               /* obj col's list param handle*/  /*   * create a context for this object type and describe the attributes   * that will be loaded for this object.   */  OCI_CHECK(ctlp->envhp_ctl, OCI_HTYPE_ENV, ociret, ctlp,            OCIHandleAlloc((dvoid *)ctlp->dpctx_ctl,                           (dvoid **)&(objp->ctx_obj),                           (ub4)OCI_HTYPE_DIRPATH_FN_CTX,                           (size_t)0, (dvoid **)0));  /* If col is an obj, then its constructor is the type name. (req.)   * If col is an opaque/sql function, then use the expression given. (req.)   * If col is a ref, then can set a fixed tbl name.  (optional)    */ if (objp->name_obj)             /* if expression is available */ {  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrSet((dvoid *)(objp->ctx_obj),                       (ub4)OCI_HTYPE_DIRPATH_FN_CTX,                       (dvoid *) objp->name_obj,                       (ub4)strlen((const char *) objp->name_obj),                       (ub4)OCI_ATTR_NAME, ctlp->errhp_ctl));  /* Set the expression type to obj constructor, opaque/sql function, or ref   * table name.   */  if (bit(objp->flag_obj, OBJ_OBJ))    exprtype = OCI_DIRPATH_EXPR_OBJ_CONSTR;   /* expr is an obj constructor */  else if (bit(objp->flag_obj, OBJ_OPQ))    exprtype = OCI_DIRPATH_EXPR_SQL;          /* expr is an opaque/sql func */  else if (bit(objp->flag_obj, OBJ_REF))    exprtype = OCI_DIRPATH_EXPR_REF_TBLNAME;   /* expr is a ref table name  */  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrSet((dvoid *)(objp->ctx_obj),                       (ub4)OCI_HTYPE_DIRPATH_FN_CTX,                       (dvoid *) &exprtype,                       (ub4) 0,                       (ub4)OCI_ATTR_DIRPATH_EXPR_TYPE, ctlp->errhp_ctl)); }  /* set number of columns to be loaded */  numCols = objp->ncol_obj;  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrSet((dvoid *)(objp->ctx_obj),                       (ub4)OCI_HTYPE_DIRPATH_FN_CTX,                       (dvoid *)&numCols,                       (ub4)0, (ub4)OCI_ATTR_NUM_COLS, ctlp->errhp_ctl));  /* get the column parameter list */  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrGet((dvoid *)(objp->ctx_obj),                       OCI_HTYPE_DIRPATH_FN_CTX,                       (dvoid *)&objColLstDesc, (ub4 *)0,                       OCI_ATTR_LIST_COLUMNS, ctlp->errhp_ctl));  /* get attributes of the column parameter list */  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrGet((CONST dvoid *)objColLstDesc,                       OCI_DTYPE_PARAM,                       (dvoid *)&parmtyp, (ub4 *)0,                       OCI_ATTR_PTYPE, ctlp->errhp_ctl));  if (parmtyp != OCI_PTYPE_LIST)  {    fprintf(output_fp,            "ERROR: expected parmtyp of OCI_PTYPE_LIST, got %d\n",            (int)parmtyp);  }  /* Now set the attributes of each column by getting a parameter   * handle on each column, then setting attributes on the parameter   * handle for the column.   * Note that positions within a column list descriptor are 1-based.   */  for (i = 0, pos = 1, colp = objp->col_obj, fldp = objp->fld_obj;       i < objp->ncol_obj;       i++, pos++, colp++, fldp++)  {    /* get parameter handle on the column */    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIParamGet((CONST dvoid *)objColLstDesc,                          (ub4)OCI_DTYPE_PARAM, ctlp->errhp_ctl,                          (dvoid **)&colDesc, pos));    colp->id_col = i;                            /* position in column array*/    /* set external attributes on the column */    /* column name */    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIAttrSet((dvoid *)colDesc, (ub4)OCI_DTYPE_PARAM,                         (dvoid *)colp->name_col,                         (ub4)strlen((const char *)colp->name_col),                         (ub4)OCI_ATTR_NAME, ctlp->errhp_ctl));    /* column type */    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIAttrSet((dvoid *)colDesc, (ub4)OCI_DTYPE_PARAM,                         (dvoid *)&colp->exttyp_col, (ub4)0,                         (ub4)OCI_ATTR_DATA_TYPE, ctlp->errhp_ctl));    /* max data size */    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIAttrSet((dvoid *)colDesc, (ub4)OCI_DTYPE_PARAM,                         (dvoid *)&fldp->maxlen_fld, (ub4)0,                         (ub4)OCI_ATTR_DATA_SIZE, ctlp->errhp_ctl));    /* If column is chrdate or date, set column (input field) date mask     * to trigger client library to check string for a valid date.     * Note: OCIAttrSet() may be called here w/ a null ptr or null string.     */    if (colp->date_col)    {      OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,                OCIAttrSet((dvoid *)colDesc, (ub4)OCI_DTYPE_PARAM,                         (dvoid *)colp->datemask_col,                         (colp->datemask_col) ?                           (ub4)strlen((const char *)colp->datemask_col) :0,                         (ub4)OCI_ATTR_DATEFORMAT, ctlp->errhp_ctl));    }    if (colp->prec_col)    {      OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,                OCIAttrSet((dvoid *)colDesc, (ub4)OCI_DTYPE_PARAM,                         (dvoid *)&colp->prec_col, (ub4)0,                         (ub4)OCI_ATTR_PRECISION, ctlp->errhp_ctl));    }    if (colp->scale_col)    {      OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,                OCIAttrSet((dvoid *)colDesc, (ub4)OCI_DTYPE_PARAM,                         (dvoid *)&colp->scale_col, (ub4)0,                         (ub4)OCI_ATTR_SCALE, ctlp->errhp_ctl));    }    if (colp->csid_col)    {      OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,                OCIAttrSet((dvoid *)colDesc, (ub4)OCI_DTYPE_PARAM,                         (dvoid *)&colp->csid_col, (ub4)0,                         (ub4)OCI_ATTR_CHARSET_ID, ctlp->errhp_ctl));    }    /* If this is an object, opaque or ref then recurse */    if (colp->exttyp_col == SQLT_NTY || colp->exttyp_col == SQLT_REF)    {      init_obj_load(ctlp, tblp, colp->obj_col);      /* set the object function context into the param handle */      OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,                OCIAttrSet((dvoid *)colDesc, (ub4)OCI_DTYPE_PARAM,                           (dvoid *)(colp->obj_col->ctx_obj), (ub4)0,                           (ub4)OCI_ATTR_DIRPATH_FN_CTX, ctlp->errhp_ctl));    }    /* free the parameter handle to the column descriptor */    OCI_CHECK((dvoid *)0, 0, ociret, ctlp,              OCIDescriptorFree((dvoid *)colDesc, OCI_DTYPE_PARAM));  }}/***++++++++++++++++++++++++++++++ init_load +++++++++++++++++++++++++++++++++****  Description:****   Function which prepares for a direct path load using the direct**   path API on the table described by 'tblp'.****  Assumptions:****  The loadctl structure given by 'ctlp' has an appropriately initialized**  environment, and service context handles (already connected to**  the server) prior to calling this function.****  Parameters:****  ctlp                           load control structure pointer**  tblp                           table pointer **  sessp                          session pointer****  Returns:****-------------------------------------------------------------------------*/STATICF void init_load(ctlp, tblp, sessp)struct loadctl *ctlp;                      /* load control structure pointer */struct tbl     *tblp;                      /* table pointer   */struct sess    *sessp;                     /* session pointer */{  struct  col   *colp;  struct  fld   *fldp;  sword         ociret;                    /* return code from OCI calls */  OCIDirPathCtx *dpctx;                    /* direct path context */  OCIParam      *objAttrDesc;              /* attribute parameter descriptor */  OCIParam      *colDesc;                  /* column parameter descriptor */  ub1            parmtyp;  ub1           *timestamp = (ub1 *)0;  ub4            size;  ub2            i;  ub4            pos;  ub1            dirpathinput = OCI_DIRPATH_INPUT_TEXT;  /* allocate and initialize a direct path context */  OCI_CHECK(ctlp->envhp_ctl, OCI_HTYPE_ENV, ociret, ctlp,            OCIHandleAlloc((dvoid *)ctlp->envhp_ctl,                           (dvoid **)&ctlp->dpctx_ctl,                           (ub4)OCI_HTYPE_DIRPATH_CTX,                           (size_t)0, (dvoid **)0));  dpctx = ctlp->dpctx_ctl;                                      /* shorthand*/  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrSet((dvoid *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,                       (dvoid *)tblp->name_tbl,                       (ub4)strlen((const char *)tblp->name_tbl),                       (ub4)OCI_ATTR_NAME, ctlp->errhp_ctl));  if (tblp->subname_tbl && *tblp->subname_tbl)    /* set (sub)partition name*/  {    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIAttrSet((dvoid *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,                         (dvoid *)tblp->subname_tbl,                         (ub4)strlen((const char *)tblp->subname_tbl),                         (ub4)OCI_ATTR_SUB_NAME, ctlp->errhp_ctl));  }  if (tblp->owner_tbl)                            /* set schema (owner) name*/  {    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIAttrSet((dvoid *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,                         (dvoid *)tblp->owner_tbl,                         (ub4)strlen((const char *)tblp->owner_tbl),                         (ub4)OCI_ATTR_SCHEMA_NAME, ctlp->errhp_ctl));  }  /* Note: setting tbl default datemask will not trigger client library   * to check strings for dates - only setting column datemask will.   */  if (tblp->dfltdatemask_tbl)  {    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIAttrSet((dvoid *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,                         (dvoid *)tblp->dfltdatemask_tbl,                         (ub4)strlen((const char *)tblp->dfltdatemask_tbl),                         (ub4)OCI_ATTR_DATEFORMAT, ctlp->errhp_ctl));  }  /* set the data input type to be text */  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrSet ((dvoid *)dpctx, OCI_HTYPE_DIRPATH_CTX,                        (dvoid *)&dirpathinput, (ub4)0,                        OCI_ATTR_DIRPATH_INPUT, ctlp->errhp_ctl));  if (tblp->parallel_tbl)                 /* set table level parallel option*/  {    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIAttrSet((dvoid *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,                         (dvoid *)&tblp->parallel_tbl,                         (ub4)0, (ub4)OCI_ATTR_DIRPATH_PARALLEL,                         ctlp->errhp_ctl));  }  if (tblp->nolog_tbl)                       /* set table level nolog option*/  {    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIAttrSet((dvoid *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,                         (dvoid *)&tblp->nolog_tbl, (ub4)0,                         (ub4)OCI_ATTR_DIRPATH_NOLOG, ctlp->errhp_ctl));  }  if (tblp->objconstr_tbl)         /* set obj type of tbl to load if exists */    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIAttrSet((dvoid *)dpctx,                         (ub4)OCI_HTYPE_DIRPATH_CTX,                         (dvoid *) tblp->objconstr_tbl,                         (ub4)strlen((const char *) tblp->objconstr_tbl),                         (ub4)OCI_ATTR_DIRPATH_OBJ_CONSTR, ctlp->errhp_ctl));  /* set number of columns to be loaded */  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrSet((dvoid *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,                       (dvoid *)&tblp->ncol_tbl,                       (ub4)0, (ub4)OCI_ATTR_NUM_COLS, ctlp->errhp_ctl));  /* get the column parameter list */  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrGet((dvoid *)dpctx,                       OCI_HTYPE_DIRPATH_CTX,                       (dvoid *)&ctlp->colLstDesc_ctl, (ub4 *)0,                       OCI_ATTR_LIST_COLUMNS, ctlp->errhp_ctl));  /* get attributes of the column parameter list */  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,            OCIAttrGet((CONST dvoid *)ctlp->colLstDesc_ctl,                       OCI_DTYPE_PARAM,                       (dvoid *)&parmtyp, (ub4 *)0,                       OCI_ATTR_PTYPE, ctlp->errhp_ctl));  if (parmtyp != OCI_PTYPE_LIST)  {    fprintf(output_fp, "ERROR: expected parmtyp of OCI_PTYPE_LIST, got%d\n",            (int)parmtyp);  }  /* Now set the attributes of each column by getting a parameter   * handle on each column, then setting attributes on the parameter   * handle for the column.   * Note that positions within a column list descriptor are 1-based.   */  for (i = 0, pos = 1, colp = tblp->col_tbl, fldp = tblp->fld_tbl;       i < tblp->ncol_tbl;       i++, pos++, colp++, fldp++)  {    /* get parameter handle on the column */    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,              OCIParamGet((CONST dvoid *)ctlp->colLstDesc_ctl,                          (ub4)OCI_DTYPE_PARAM, ctlp->errhp_ctl,                          (dvoid **)&colDesc, pos));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品网友自拍| 国产成人一区二区精品非洲| caoporen国产精品视频| 精品国产欧美一区二区| 日韩专区中文字幕一区二区| 91视频com| 亚洲欧洲av色图| 精品无人码麻豆乱码1区2区 | 亚洲人成在线观看一区二区| 成人黄页在线观看| 国产精品色在线观看| 懂色av中文字幕一区二区三区| 精品国产污污免费网站入口 | 一本到不卡精品视频在线观看| 国产精品女同互慰在线看| 懂色av一区二区三区免费观看| 欧美精品一区二区在线观看| 国产乱码字幕精品高清av| 国产日韩欧美亚洲| 99久久精品一区| 亚洲欧美日韩久久| av一区二区久久| 国产精品污污网站在线观看| 国产91丝袜在线播放| 18欧美亚洲精品| 色婷婷av一区| 日韩电影在线看| 国产午夜久久久久| 99久久国产综合精品色伊| 洋洋av久久久久久久一区| 精品1区2区3区| 久久精品噜噜噜成人av农村| 欧美人与性动xxxx| 日韩电影免费一区| 国产日韩精品视频一区| 成人永久免费视频| 亚洲电影一级片| 久久久蜜臀国产一区二区| 成人av动漫网站| 丝袜亚洲另类欧美综合| 欧美mv和日韩mv国产网站| 成人自拍视频在线观看| 亚洲一线二线三线久久久| 欧美日韩一级片在线观看| 精品一区二区三区影院在线午夜| 国产精品麻豆视频| 欧美精品18+| 成人精品鲁一区一区二区| 亚洲二区在线视频| 国产欧美日韩久久| 欧美色图免费看| 成人免费观看视频| 日韩精品一二区| 国产精品免费视频一区| 色哟哟精品一区| 天天做天天摸天天爽国产一区 | 国产精品乱码一区二区三区软件| av激情成人网| 国产一区在线观看麻豆| 亚洲午夜av在线| 国产精品女主播在线观看| 在线不卡免费av| 91尤物视频在线观看| 久久国内精品视频| 亚洲影院免费观看| 国产精品传媒入口麻豆| 久久亚洲一区二区三区明星换脸| 欧美日韩免费观看一区二区三区| 精品一区二区三区免费毛片爱| 一区二区三区欧美视频| 国产欧美日韩另类一区| 精品99一区二区| 欧美日韩在线直播| 色妞www精品视频| 成人一级视频在线观看| 韩国av一区二区三区四区| 日韩精品欧美成人高清一区二区| 国产日产欧美一区| 日韩欧美中文一区| 欧美自拍偷拍午夜视频| av资源站一区| 成年人网站91| 丰满岳乱妇一区二区三区| 国产一区二区精品久久| 麻豆91免费观看| 免费看日韩精品| 天天综合天天综合色| 亚洲一区二区视频在线观看| 亚洲天堂av一区| 综合亚洲深深色噜噜狠狠网站| 在线不卡免费欧美| 色综合久久久久综合99| av亚洲精华国产精华精华| eeuss影院一区二区三区| 不卡av电影在线播放| av不卡一区二区三区| 成人精品免费网站| 不卡的电视剧免费网站有什么| 成人永久aaa| 99国产精品久久久久久久久久| 成人影视亚洲图片在线| 99九九99九九九视频精品| av不卡在线播放| 91丝袜呻吟高潮美腿白嫩在线观看| 久久国产欧美日韩精品| 激情国产一区二区| 国产精品综合一区二区| 国产91精品精华液一区二区三区| 日本中文字幕一区二区视频 | 日韩高清不卡在线| 久久99国产精品久久99果冻传媒| 久久成人免费日本黄色| 国产精品一区在线观看你懂的| 国产乱人伦偷精品视频不卡 | 欧美性大战久久久| 欧美久久久久久久久| 日韩女优毛片在线| 久久婷婷国产综合精品青草| 国产精品美女视频| 亚洲综合图片区| 亚洲一区二区av电影| 香蕉久久夜色精品国产使用方法 | 亚洲人成伊人成综合网小说| 亚洲国产成人在线| 亚洲美女偷拍久久| 久久精品国产一区二区三 | 亚洲美女在线一区| 日本aⅴ亚洲精品中文乱码| 国产毛片精品一区| 色综合天天狠狠| 欧美巨大另类极品videosbest| 日韩欧美一区二区免费| 国产精品三级电影| 午夜一区二区三区在线观看| 精彩视频一区二区| 欧美性色aⅴ视频一区日韩精品| 欧美一级高清大全免费观看| 国产精品免费看片| 自拍偷拍欧美精品| 欧美美女视频在线观看| 中文av一区二区| 久久99国产精品久久| 欧美日韩国产一区| 夜夜爽夜夜爽精品视频| aaa亚洲精品| 久久久久国产精品麻豆ai换脸| 麻豆专区一区二区三区四区五区| 91福利国产成人精品照片| 国产精品久久夜| 国产福利一区在线| 久久久久国产免费免费 | 国产精品国产三级国产普通话99 | 蜜臀av性久久久久蜜臀aⅴ流畅| 色综合天天视频在线观看| 国产免费成人在线视频| 国精产品一区一区三区mba视频 | 国产大片一区二区| 精品国内二区三区| 理论片日本一区| 日韩欧美在线1卡| 蜜臀av一区二区在线观看| 538在线一区二区精品国产| 午夜精品一区在线观看| 欧美色精品天天在线观看视频| 伊人一区二区三区| 91免费精品国自产拍在线不卡| 自拍偷拍国产精品| 91同城在线观看| 亚洲午夜久久久久中文字幕久| 91激情五月电影| 亚洲v中文字幕| 欧美一区二区久久久| 另类小说一区二区三区| 精品久久久久久综合日本欧美| 极品少妇xxxx精品少妇| 久久精品视频在线免费观看| 国产乱妇无码大片在线观看| 国产欧美中文在线| 91一区二区在线| 一区二区三区高清不卡| 欧美日韩免费电影| 日精品一区二区| 26uuu亚洲综合色| 成人永久看片免费视频天堂| 亚洲日本在线a| 7777精品伊人久久久大香线蕉经典版下载 | 制服视频三区第一页精品| 青青草原综合久久大伊人精品优势 | 国产精品久久久一本精品| 91碰在线视频| 亚洲午夜免费电影| 欧美成人精品1314www| 成人av中文字幕| 亚洲国产一区视频| 精品成人a区在线观看| 91欧美激情一区二区三区成人| 日韩中文字幕区一区有砖一区 | 亚洲国产综合视频在线观看| 91精品国产乱码久久蜜臀| 国产成人8x视频一区二区|