<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 23,  comments - 3,  trackbacks - 0
    Hi   TOM,  
      I   have   a   problem   with   ref   cursors.I'll   try   to   explain   it(sorry   if   my   english   is    
      not   very   good).  
      I   have   2   databases   and   i   want   to   return   values   from   one   DBto   the   other.  
      In   the   DB   that   i   want   to   recieve   the   data   i   have   the   call(with   a   procedure)   and      
      i   create   a   variable    
      wich   the   type   is   REF   CURSOR   from   the   second   DB.   In   example:  
      --the   variable    
      vResultCursor   user_DB2.pk_k1.vSqlCursorD@DB2;    
      --where   pk1   is   a   package   in   which   i   declare   the   REF   CURSOR   variable  
      ..  
      --The   call  
      user_DB2.pk_k1.P_1@DB2(vResultCursor);  
      --where   P1   is   the   procedure   in   wich   i   open   the   cursor   and    
      after   that   i   want   to   work   with   this   cursor  
       
      loop            
      --vx   is   varchar2              
                      FETCH   vResultCursor   INTO   vx;  
                            EXIT   WHEN   vResultCursor%NOTFOUND;  
                            insert   into   tbl_probe   values   (sysdate,'vx',vx);              
                          commit;                          
                 
      end   loop;  
      close     vResultCursor;  
       
      In   the   first   DB   i   have   in   PK_K1   the   declaration   of   the   ref   cursor,   and   the    
      procedure   wich   open   the   dinamic  
        cursor:  
      CREATE     OR   REPLACE   PACKAGE   PK_K1   IS    
      TYPE   vSqlCursorD   IS   REF   CURSOR;  
      PROCEDURE   P_RESOLVECURSOR   (vSQLCURSOR   OUT   vSqlCursorD);  
      END   PK_K1;  
       
      CREATE   OR   REPLACE   PACKAGE   BODY   PK_K1   IS  
       
      PROCEDURE   P_RESOLVECURSOR   (vSQLCURSOR   OUT   vSqlCursorD)   IS  
      vSqlCursortxt   VARCHAR2(4096);  
      BEGIN  
      vSqlCursortxt:=   'SELECT   *   FROM   DUAL';  
      OPEN   vSQLCURSOR   FOR   vSqlCursortxt;  
      EXCEPTION  
                        WHEN   OTHERS   THEN  
                                    IF   (vSQLCURSOR%ISOPEN)   THEN  
                                            CLOSE   vSQLCURSOR;  
                                  END   IF;  
      END;    
      END   PK_K1;  
      The   problem   that   i   have   is,   that   if   i   make   a   procedure   in   the   package   PK_K1   and    
      i   call   the   procedure   P_RESOLVECURSOR  
      it   works,   but   when   i   call   from   the   other   DB   it   doesnt   work.   The   error   is   ERROR    
      ORA-01001   when   whe   make   the   FETCH  
      I   gave   the   EXECUTE   grant   from   one   DB   to   the   OTHER  
      GRANT   EXECUTE   ON   PK_K1   TO   USERDB1;  
      could   u   help   me?  
      Thanks    
         
       
       
      Followup:  
       
      ref   cursors   cannot   be   used   over   a   dblink   like   that.  
       
       
      http://download-east.oracle.com/docs/cd/B19306_01/appdev.102/b14261/sqloperations.htm#sthref1448  
       
      ....  
      Note:  
       
              *     Using   a   REF   CURSOR   variable   in   a   server-to-server   RPC   results   in   an    
      error.   However,   a   REF   CURSOR   variable   is   permitted   in   a   server-to-server   RPC   if    
      the   remote   database   is   a   non-Oracle   database   accessed   through   a   Procedural    
      Gateway.  
              *     LOB   parameters   are   not   permitted   in   a   server-to-server   RPC.  
       
      .....    
       
      Passing   a   cursor   from   one   DB   to   the   other     March   23,   2006  
      Reviewer:     Jorge     from   Spain  
       
      Thank   for   the   explanation,   we   solve   the   problem   opening   and   closing   the   cursor    
      in   one   DB   and   passig   the   data   to   the   other   server   in   an   TABLE   Object   by   means   of    
      a   function.  
      Thanks   a   lot     

      ==========================================================
    看來這幾天的努力白費了,氣憤啊
    posted on 2009-03-30 16:58 temper 閱讀(150) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲中文字幕在线乱码| 在线观看免费av网站| 亚洲AV无码不卡无码| 国产91久久久久久久免费| 亚洲一级毛片免费观看| 一级特级女人18毛片免费视频| 亚洲精品国产成人中文| 色播亚洲视频在线观看| 狠狠色伊人亚洲综合成人| 亚洲午夜福利在线观看| 亚洲福利中文字幕在线网址| 日本成人免费在线| 亚洲成AⅤ人影院在线观看| 国产精品视频免费一区二区三区| 拨牐拨牐x8免费| 大桥未久亚洲无av码在线| 亚洲男人的天堂久久精品| 精品亚洲国产成人| 精品国产成人亚洲午夜福利| 亚洲日本VA午夜在线电影| 亚洲色少妇熟女11p| 亚洲精品国产成人片| 亚洲综合激情另类小说区| 亚洲首页国产精品丝袜| 亚洲日本成本人观看| 中文日本免费高清| 日本免费人成在线网站| www.亚洲精品.com| 亚洲一区影音先锋色资源| 亚洲AV成人片无码网站| 久久永久免费人妻精品下载| 在线jyzzjyzz免费视频| 亚洲精品无码专区在线在线播放| 亚洲国产成a人v在线| 一级毛片aaaaaa视频免费看| 中字幕视频在线永久在线观看免费 | 精品久久久久久亚洲中文字幕| 无码国产亚洲日韩国精品视频一区二区三区 | 亚洲欧美日韩久久精品| 午夜爽爽爽男女免费观看影院| 亚洲人成网站色在线入口|