<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     

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 色费女人18女人毛片免费视频| 青青草免费在线视频| 国产日韩亚洲大尺度高清| 91人人区免费区人人| 亚洲一区二区三区国产精华液 | 内射无码专区久久亚洲| 精品久久久久久无码免费| 亚洲第一精品电影网| 国产伦精品一区二区三区免费迷 | 1000部啪啪毛片免费看| 久久久亚洲欧洲日产国码aⅴ | 久久亚洲色一区二区三区| rh男男车车的车车免费网站| 亚洲成人国产精品| 在线视频亚洲一区| 久久久青草青青国产亚洲免观 | 精品久久久久久久久免费影院| 亚洲区精品久久一区二区三区| 亚洲网站在线免费观看| 亚洲国产精品无码观看久久| 亚洲色偷拍另类无码专区| 国产一级a毛一级a看免费视频| 亚洲AV无码乱码在线观看裸奔| 国产免费的野战视频| 农村寡妇一级毛片免费看视频| 亚洲AV无码专区国产乱码电影| 欧亚精品一区三区免费| 一级毛片免费播放视频| 亚洲最新中文字幕| 国产高清在线精品免费软件| 久久成人永久免费播放| 亚洲嫩模在线观看| 免费被黄网站在观看| 国产又黄又爽胸又大免费视频 | 黄床大片30分钟免费看| 亚洲人成在线影院| 国产成人免费片在线视频观看| 国产精品白浆在线观看免费| 亚洲熟女综合一区二区三区| 亚洲电影免费在线观看| 亚洲精品无码久久千人斩|