<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      OCI編程高級(jí)篇(十三) 直接路徑裝載分配句柄

      訪(fǎng)問(wèn)www.tomcoding.com網(wǎng)站,學(xué)習(xí)Oracle內(nèi)部數(shù)據(jù)結(jié)構(gòu),詳細(xì)文檔說(shuō)明,下載Oracle的exp/imp,DUL,logminer,ASM工具的源代碼,學(xué)習(xí)高技術(shù)含量的內(nèi)容。

      直接路徑裝載最少分配三個(gè)句柄,第一個(gè)是直接路徑上下文句柄OCIDirPathCtx,這個(gè)句柄從父句柄環(huán)境句柄envhp分配,每一個(gè)要裝載的對(duì)象都要有一個(gè)OCIDirPathCtx,可以分配多個(gè)句柄,也可以多個(gè)對(duì)象共用一個(gè)句柄。以OCIDirPathCtx為父句柄,可以分配另外兩個(gè)句柄,一個(gè)是直接路徑字段數(shù)組句柄OCIDirPathColArray,用于設(shè)置表的字段信息和字段數(shù)據(jù)。另一個(gè)是直接路徑流句柄OCIDirPathStream,用于把字段數(shù)組轉(zhuǎn)換成數(shù)據(jù)流。

      我們之前創(chuàng)建過(guò)一個(gè)表,用于前面的OCI代碼演示,建表語(yǔ)句是CREATE TABLE test_tab (ID NUMBER, NAME CHAR(30), ADDR VARCHAR2(200))。我們還以這個(gè)表為例,使用直接路徑裝載插入數(shù)據(jù),看看開(kāi)始分配句柄和設(shè)置句柄屬性的過(guò)程。表的名稱(chēng)為test_tab,表的schemascott,下面是代碼演示。

       

      OCIEnv       *envhp = NULL;
      OCIError     *errhp = NULL;
      OCIServer    *svrhp = NULL;
      OCISession   *usrhp = NULL;
      OCISvcCtx    *svchp = NULL;
      
      int dp_load(void){
          ub4                  buf_sz;
          ub4                  ncol;
          OCIDirPathCtx        *dpctx;
          OCIDirPathColArray   *dpca;
          OCIDirPathStream     *dpstr;
      
      
          /* 分配直接路徑上下文句柄,父句柄是envhp */
          if (check_oci_error(errhp,
              OCIHandleAlloc((void *)envhp, (void **)&dpctx,
                  OCI_HTYPE_DIRPATH_CTX, 0, (void **)NULL)
              ) < 0)
              return (-1);
      
          /* 分配直接路徑字段數(shù)組句柄,父句柄是dpctx */
          if (check_oci_error(errhp,
              OCIHandleAlloc((void *)dpctx, (void **)&dpca,
                  OCI_HTYPE_DIRPATH_COLUMN_ARRAY, 0, (void **)NULL)
              ) < 0)
              return (-1);
      
          /* 分配直接路徑流句柄,父句柄是dpctx */
          if (check_oci_error(errhp,
              OCIHandleAlloc((void *)dpctx, (void **)&dpstr,
                  OCI_HTYPE_DIRPATH_STREAM, 0, (void **)NULL)
              ) < 0)
              return (-1);
      
          /* 設(shè)置表的schema,在上下文句柄中設(shè)置 */
          if (check_oci_error(errhp,
              OCIAttrSet((void *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,
                  (void *)"scott", strlen("scott"),
                  (ub4)OCI_ATTR_SCHEMA_NAME, errhp)
              ) < 0)
              return (-1);
      
          /* 設(shè)置表名稱(chēng),在上下文句柄中設(shè)置 */
          if (check_oci_error(errhp,
              OCIAttrSet((void *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,
                  (void *)"test_tab", strlen("test_tab"),
                  (ub4)OCI_ATTR_NAME, errhp)
              ) < 0)
              return (-1);
      
          /* 設(shè)置轉(zhuǎn)換緩沖區(qū)的大小為2M */
          buf_sz = 2 * 1024 * 1024;
          if (check_oci_error(errhp,
              OCIAttrSet((void *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,
                  (void *)&buf_sz, 0,
                  (ub4)OCI_ATTR_BUF_SIZE, errhp)
              ) < 0)
              return (-1);
      
          /* 設(shè)置表的字段個(gè)數(shù) */
          ncol = 3;
          if (check_oci_error(errhp,
              OCIAttrSet((void *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,
                  (void *)&ncol, 0,
                  (ub4)OCI_ATTR_NUM_COLS, errhp)
              ) < 0)
              return (-1);
      
          /* 后面需要設(shè)置表的字段信息了,我們?cè)谙乱还?jié)中繼續(xù) */
          /* 未完,待續(xù) ... */
      
          return (0);
      }

       

      在上面的例子中我們分配了三個(gè)句柄,并且在代表對(duì)象的直接路徑上下文中設(shè)置了表的屬主,表的名稱(chēng),表的字段個(gè)數(shù),轉(zhuǎn)換緩沖區(qū)的大小等屬性。

      在下一節(jié)中我們看看怎樣設(shè)置表的字段屬性和字段其他信息,字段的設(shè)置有點(diǎn)復(fù)雜,我們專(zhuān)門(mén)用一節(jié)來(lái)講清楚。

       

      posted @ 2025-08-14 21:43  湯姆花花  閱讀(96)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 丰满爆乳一区二区三区| 国产一级黄色片在线观看| 亚洲V天堂V手机在线 | 成人午夜av在线播放| 国产又爽又黄又无遮挡的激情视频| 中国女人熟毛茸茸A毛片| 国产欧美日韩精品丝袜高跟鞋| 五月天丁香婷婷亚洲欧洲国产| 国产嫩草精品网亚洲av| 亚洲一区二区三上悠亚| 日本精品一区二区不卡| 亚洲一区精品视频在线| 国产亚洲欧美另类一区二区| 成都市| 久久夜色噜噜噜亚洲av| 国产不卡一区二区四区| 在线观看特色大片免费视频| 日韩精品一区二区三区日韩| 国产一区二区三区我不卡| 久久精品人妻无码一区二区三区| 亚洲色一色噜一噜噜噜| 午夜福利国产精品小视频| 国产成人精品无码一区二区| 婷婷丁香五月六月综合激情啪| 日韩精品毛片一区到三区| 亚洲乱码中文字幕小综合| 综合色一色综合久久网| 免费看的一级黄色片永久| 日韩全网av在线| 干老熟女干老穴干老女人| 亚洲欧洲精品成人久久曰| 又爽又黄又无遮挡的激情视频| 露脸叫床粗话东北少妇| 国产精品小视频一区二页| 亚洲国产精品男人的天堂| 日本熟妇浓毛| 自偷自拍亚洲综合精品| 中国女人熟毛茸茸A毛片| av无码精品一区二区三区宅噜噜| 久久精品视频一二三四区| 最近中文字幕国产精选|