Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Dynamic drop database link

User341075Aug 30 2011 — edited Oct 5 2012
Hi,

As user SYS i need to Dynamically DROP all the database link in the Database.
I cant drop private database link .
For example i have few database links under APPS schema that i would like to drop.
Please note that it should be done by SYS user
SQL> declare
  2  
  3  cursor c is
  4  select * 
  5  from dba_db_links;
  6  
  7  
  8  begin
  9  for c_rec in c loop
 10  
 11      if c_rec.owner = 'PUBLIC' then
 12          execute immediate ' drop public database link '||'"'||c_rec.db_link||'"';
 13      else
 14          dbms_output.put_line (' drop database link '||'"'||c_rec.db_link||'"');
 15           execute immediate ' drop database link '||'"'||c_rec.db_link||'"';
 16      end if;      
 17  end loop;
 18  
 19  end;
 20  /

drop database link "APPS_TO_APPS"
declare
*
ERROR at line 1:
ORA-02024: database link not found
ORA-06512: at line 15
Thanks

Comments

TPD-Opitz

The font Arial has "proportional" character widths, that means that an "i" uses less space that a "m"

You could select a fond that is "nonpropotional" so that an "i" occupies the same space as a "m".

The most famous font of this type is  Courier

or you follow this advice:

Calculate the display width of a string in Java - Stack Overflow

bye

TPD

darrylburke

Cross posted and correctly answered at LineBreakMeasurer calculate text length is not match the length of line!

TPD-Opitz, the choice of Font has nothing to do with it.

unknown-7404

I want to draw a line under a text. But the length that I calculate seems not equals to the length of the text.

No! That is NOT true.

The 'length' that you calculate is EXACTLY equal to the length of the text.

int lineWidth = (int)layout.getBounds().getWidth();

That line widths is CORRECT.


But the line you DRAW is not the correct length because you are NOT specifying the parameters to 'drawLine' correctly:

g2d.drawLine(35, 150, lineWidth, 150);

You are using 'lineWidth' as the x coordinate of the second point. See the Java API for the method


Graphics (Java Platform SE 7 )

  • drawLine

     public abstract void drawLine(int x1, int y1, int x2, int y2)
    

    Draws a line, using the current color, between the points (x1, y1) and (x2, y2) in this graphics context's coordinate system.

    Parameters:
    x1 - the first point's x coordinate.
    y1 - the first point's y coordinate.
    x2 - the second point's x coordinate.
    y2 - the second point's y coordinate.

See 'x2' the third parameter? That is "the second points's x coordinate. So it needs to be 'x1' plus the line width; you have to start at x1 and then go the line width to the right.

1 - 3
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Nov 2 2012
Added on Aug 30 2011
12 comments
4,843 views