Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: supplying dblink name to package at runtime

RE: supplying dblink name to package at runtime

From: Mercadante, Thomas F <NDATFM_at_labor.state.ny.us>
Date: Fri, 25 Oct 2002 09:59:28 -0800
Message-ID: <F001.004F3E65.20021025095928@fatcity.com>


Bill,

Not sure about the refcursor thningy you mentioned.

I think I would do it another way.

Always have a db link available at compile time for your package. The link may simply point back to a user in the same database. The thing to do is to make sure a dblink exists, and that it currently is valid. Remember, a db link is simply another Oracle object. All that is required is to have one in place for the compile to work.

At run time, you can drop and re-create the link, pointing to wherever it needs to point to.

Hope this helps.

Tom Mercadante
Oracle Certified Professional

-----Original Message-----
Sent: Friday, October 25, 2002 1:09 PM
To: Multiple recipients of list ORACLE-L

Hi,

I'm trying to incorporate a procedure in a package that needs to run using a dblink name supplied at runtime. The dblink is used in the dml inside the procedure, but when I compile the package I get "ORA-00942 table or view does not exist" for all the sql referencing the dblink.

Here is a code snippet:

PROCEDURE CREATE_WC_OVER_DBLINK (     
	DBLINK VARCHAR2)

v_dblink VARCHAR2(100) := dblink;       

BEGIN INSERT INTO mm_product_temp (rec, rec_old, name, is_disabled, is_workingcopy)
(SELECT mm_product_seq.nextval, rec, name, is_disabled, is_workingcopy FROM mm_product_at_v_dblink
WHERE last_update IS null);

.....

END;
/

The ORA-00942 shows up for the line with the INSERT statement.

Looking for ideas as to how to do this. I saw a MetaLink forum posting indicating that the way to do this is to create a refcursor, then use a function to return the supplied sql to the refcursor, then open the refcursor, etc. etc.

Is this the only way to do it?

thanks

bill
--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author: Magaliff, Bill
  INET: Bill.Magaliff_at_lendware.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author: Mercadante, Thomas F
  INET: NDATFM_at_labor.state.ny.us
Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Fri Oct 25 2002 - 12:59:28 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US