Calling remote database obj in local procesure

Dear Friends,
If I want to refer any remote database object(Table or procedure)
in my (local) procedure, should I be a valid user of that database?
If so, how should I connect to that remote database from my local
procedure?
If I should not be a user of that Database, then how does the connection
occur?
Have a nice time,
Tarek Khan

You have to create a database link and use it
RTFM about how to create them

Similar Messages

  • Getting LONG RAW from remote database

    Hi,
    I have a table in my local database that has a LONG RAW column . I have another table of similar structure in a remote database (so it has LONG RAW as well). I would like to transfer data including LONG RAW data from the remote database into the local database table using PL/SQL. I know it is not possible to copy LONG RAW over dblink directly. Can anyone suggest an approach to accomplish this?
    The local table cannot be changed to BLOB, but I have the flexibility to change the remote table to use BLOB. So, can anyone tell me if the following solution would work. If so, can you shed some light on what PL/SQL libraries to use or can you provide me with some sample code to implement steps 3 and 4 below?:
    1. Change the remote table to use BLOB
    2. Create a new temporary table with BLOB in the local database.
    3. Copy data using PL/SQL from remote BLOB to local temporary table BLOB.
    4. Copy data using PL/SQL from BLOB to LONG RAW within the local database from temporary table (w/ BLOB) to the actual target table (w/ LONG RAW).
    I think step 3 can be a direct Insert-Select from remote table (I'll try this myself), but not sure how to go about step 4.
    Thanks for your help.

    There is a chapter in the Oracle Application Developer's Guide on calling external procedures
    I don't know enough about VB and the available VB APIs to know for sure. I would assume that VB could be configured to generate a DLL with a C call specification. I would also assume that there was a VB API that would allow you to manipulate LONG RAW and BLOB data. Unfortunately, though, I don't know which VB API's have that functionality.
    Justin

  • Oracle 8.0.5 on RH6.0, unable to connect to remote database

    Hi Everybody,
    I have this problem, i have running oracle 8.0.5 on RH6.0
    everything works ok for me. But when i use sqlplus on box where
    is my Oracle running and try to connect to another database on
    my site (which is running on HPUX) I got resul ORA-01017 invalid
    username/password. Tnsping to this machine is ok, so i have this
    in my tnsname.ora When i create dabase link (with user which I
    try to use to connect remote database) on my local datbase to
    this database then link works sucessfully too. select * from
    dual@remote_database Ok. What's wrong ??? Remote database is
    Oracle 7.3.4.3 on HPUX. Any difference between SQL*Net of
    Oracle7 and 8 ???
    null

    Try putting
    disable_oob = ON
    in your sqlnet.ora file.
    Anwar.
    Radek Sedmak (guest) wrote:
    : Hi Everybody,
    : I have this problem, i have running oracle 8.0.5 on RH6.0
    : everything works ok for me. But when i use sqlplus on box where
    : is my Oracle running and try to connect to another database on
    : my site (which is running on HPUX) I got resul ORA-01017
    invalid
    : username/password. Tnsping to this machine is ok, so i have
    this
    : in my tnsname.ora When i create dabase link (with user which I
    : try to use to connect remote database) on my local datbase to
    : this database then link works sucessfully too. select * from
    : dual@remote_database Ok. What's wrong ??? Remote database is
    : Oracle 7.3.4.3 on HPUX. Any difference between SQL*Net of
    : Oracle7 and 8 ???
    null

  • Access blob/ord column from remote database

    Hi,
    I am using oracle 10.2.
    I have two database X and Y and on Y database i have the table B with column ORDDOC.
    The db link is created on A to access all tables of B. I can access all tables from B except X.
    Could you please advise how can i access table X from B database.
    Database - Y
    SQL> desc B;
    Name Null? Type
    ATTACHMENT_ID NOT NULL NUMBER(38)
    ATTACHMENT ORDSYS.ORDDOC
    SQL>
    Database - X
    SQL> select * from B@DB_LINK_TRDX2.WORLD;
    select * from B@DB_LINK_TRDX2.WORLD
    ERROR at line 1:
    ORA-22804: remote operations not permitted on object tables or user-defined
    type columns
    SQL>
    Anybody could help pls ?

    Kapil wrote:
    The document is in different database and used by other schemas as well from that database.
    .Net is GUI.Daniel raised a very important point. Moving that document via another database doubles the network load for that operation. And doubles the performance impact on the client.
    Is this in any way a sensible thing to do? Most definitely not.
    Assuming that the client cannot reach the remote database containing the documents, and that can only be done via the local database, then you need to look at options such as materialised views. Replicate the remote content from the remote database to the local database at regular intervals.
    As the data set is large (containing LOB documents), consider fast incremental refreshing (and not pull the entire data set across with each refresh).
    Yes, you can write PL/SQL code that grabs the remote document and copies it into a local LOB and then dish that up to the client. But the impact of this on the network and performance are major concerns that need to be thoroughly evaluated first.

  • Connecting to remote database without using db links

    Referred Thread:
    Re: Remote DB connection without DB link
    In reference to the thread above, my question goes like this:
    Let's say I want to run a query from a database and use data from another database. I have the user, password, SID and port number of the other database but do not want to create a separate connection using sqlplus or connect commands.
    Something like this:
    SQL> show user
    USER is "A"
    SQL> select a.col1, b.col2 from tab1 a, tab2@????? where <some condition>;
    Can this connection be done on the fly ?? I agree that a DB link will do the trick, but let's say I am not supposed to create objects on the other database.

    You need two sets of privs on the remote database to view data in that database schema:
    - create session (the schema must allow client connections to create schema sessions)
    - select on other schema tables whose contents to view
    You need a single priv on the local database, to connect to that remote schema on the other database:
    - create database link
    You also need the following in order to create the db link:
    - the remote schema name and password
    - IP address or hostname of the remote db server
    - the remote Listener's tcp endpoint port
    - the name of the remote database (SID, instance or service name)
    If you do not have these privs, you cannot use/access the remote database from the local database session via a database link.
    Other alternative methods needs additional privileges and objects on both the remote and local database sides - and are more complex (e.g. using web services, using web-enabled procedures, etc).

  • Calling Remote Functions Locally Triggers any Database commit(Implicit)

    Hello,
    Am making use of RFC enabled function module as normal function module (Calling remote function module locally).
    My question is does it trigger any implicit database commit or not. Since synchronous RFC triggers database commit.
    Regards,
    Tenzin Choegyen

    I057200 wrote:
    Since synchronous RFC triggers database commit.
    Let me correct the statement both synchronous as well as asynchronous RFCs trigger an implicit DB commit.
    SAP documentation on synch-RFCs states:
    If the content of dest is equal to the constant space, then the addition DESTINATION is ignored and a normal call CALL FUNCTION func is executed.
    Please note that you should not use the DESTINATION addition or use DESTINATION space. DESTINATION none will start the FM as an RFC in the same app server.

  • Local function calling remote function - error

    Dear All
    i have following remote function wich return some value from both methods ie.
    1) select func1(variable, varialbe) from dual@remoteDB; working
    2) select func1(variable, varialbe) from dual; -- by making a synonym at local
    Now i create a local function funclocal calling remote functino i.e. func1 in this example as:
    CREATE OR REPLACE FUNCTION funclocal(locc varchar2, artnoo number)
    RETURN NUMBER IS
    query_str VARCHAR2(1000);
    STKQTYY NUMBER;
    artno number(10);
    loc varchar2(80);
    BEGIN
    artno := artnoo;
    loc := locc;
    query_str := 'select func1(loc, artno) from dual ';
    EXECUTE IMMEDIATE query_str
    INTO STKQTYY;
    RETURN STKQTYY;
    END;
    compiled successfully.
    But when i run as:
    SQL> select funclocal('abc', 469183) from dual;
    select funclocal('@st3', 469183) from dual
    ERROR at line 1:
    ORA-00904: "ARTNO": invalid identifier
    ORA-06512: at "funclocal", line 11
    Please guide me.
    Regards
    Saeed

    EXECUTE IMMEDIATE query_strAs Andreas states: Why are you using dynamic sql?
    From what I see all you need is sth like
    create or replace function funclocal (locc varchar2, artnoo number)
       return number
    is
    begin
       return func1 (locc, artnoo);
    end funclocal ;
    /even the whole concept of a »local« function seems suspicious. Why do you need that one?

  • Remote Database connection error on local database while running a procedur

    Dear Gurus,
    I am trying to run a procedure to grant Select Access to all objects of a schema to all schema but getting below error messages:
    Error report:
    ORA-02019: connection description for remote database not found
    This is on local database and all required privileges have been given to run this procedure but I dont understand why this error is being thrown every time. I am able to fetch all the tables directly (i.e. SELECT object_name FROM user_objects where OBJECT_TYPE IN('TABLE','VIEW','MATERIALIZED VIEW') AND STATUS='VALID')
    Kindly let me know if you have any solution.
    Procedure detail:
    declare
    sqltxt varchar(250);
    cursor course_det is
    SELECT object_name FROM user_objects where OBJECT_TYPE IN('TABLE','VIEW','MATERIALIZED VIEW') AND STATUS='VALID';
    v_objnm user_objects.object_name%type;
    begin
    open course_det;
    loop
    fetch course_det into v_objnm;
    exit when course_det%notfound;
    sqltxt :='GRANT SELECT ON ' || v_objnm|| ' TO public with grant option';
    EXECUTE IMMEDIATE sqltxt ;
    end loop;
    end;
    System detail:
    Oracle 11.2.0.3/Linux 5.3
    Ragards.
    Edited by: 877938 on Mar 20, 2013 12:27 AM

    Hi,
    It seems you are fetching records from one database to other. for that you need to create dblink for that.
    Create dblink first and then try to fetch records using that dblink.
    ORA-02019: connection description for remote database not found
    Cause: An attempt was made to connect or log in to a remote database using a connection description that could not be found.
    Action: Specify an existing database link. Query the data dictionary to see all existing database links. See your operating system-specific Net8 documentation for valid connection descriptors. 

  • Getting error while calling procedure from remote database

    When I am trying to call child procedure from remote database I am getting below error:
    ORA-02064: distributed operation not supported
    ORA-06512: at "NMUSER.NEW_CUST_UPLOAD", line 740
    (P.S. on line no 740 I issued "commit;" )
    I checked rights,synonym on all the objects they are fine.

    Oracle Error: ORA-02064
    Error Description:
    Distributed operation
    not supported
    Error Cause:
    One of the following
    unsupported operations was attempted:
    1. array execute of a remote update with a subquery that references a dblink,
    or
    2. an update of a long column with bind variable and an update of a second
    column with a subquery that both references a dblink and a bind variable, or
    3. a commit is issued in a coordinated session from an RPC procedure call
    with OUT parameters or function call.
    Cheers,
    Manik.

  • Replicate some tables from local database server to Remote database sever

    how can i replicate some tables from local database server(Oracle 8.1.7 on windows 2000 server) to a remote database server(Oracle 8.1.7 on Sun Solaris)
    whenever there is some insertion or updation on the table of base(main) database it should get updated to the remote database server
    or
    on time base for example: every 2 hours
    please help me!!!!

    It all depends on waht you are going to do with the data on the remote.
    if tehre are no updates there, creating a simple materialized view on the remote to pull it's data from the local should suffice.
    If there are updates on the remote, you will more than likely want to look into either Multi-master replication, or updatable materialized views.

  • Calling remote procedure through database link

    Hi,
    I have a procedure in a package with a type I delcared as follows:
    Database1 :
    create or replace package p1
    is
    TYPE dependents_rec IS RECORD (
    name VARCHAR2 (80),
    dob date);
    TYPE dependents IS TABLE OF dependents_rec
    INDEX BY BINARY_INTEGER;
    procedure proc1 (p_id in number,
    p_dependents out dependents );
    end;
    On another database database2 i want to call the above procedure from within a procedure in a package that works as a wrapper package with similar structure.
    I recieve the error "Wrong number or types of parameters" error because type dependents is not the same as within the package in database 1.
    How can I call the procedure p1.proc1 over a database link ?
    Thank you

    Hi,
    On database1:
    CREATE OR REPLACE PACKAGE types_pkg is
    TYPE dependents_rec IS RECORD (
    NAME VARCHAR2 (80),
    sex NUMBER (1),
    birth_date DATE,
    birth_place NUMBER (3),
    status NUMBER (1),
    unique_id VARCHAR2 (15)
    TYPE dependents IS TABLE OF dependents_rec
    INDEX BY BINARY_INTEGER;
    end;
    CREATE OR REPLACE PACKAGE wrapper_pkg_demo
    AS
    PROCEDURE read_person_no (
    p_person_id NUMBER,
    p_dependent_info OUT types_pkg.dependents
    END;
    CREATE OR REPLACE PACKAGE BODY wrapper_pkg_demo
    AS
    PROCEDURE read_person_no (
    p_person_id NUMBER,
    p_dependent_info OUT types_pkg.dependents
    IS
    BEGIN
    person_pkg.read_person_no (p_person_id, p_dependent_info);
    END;
    END;
    On database 2:
    CREATE OR REPLACE PACKAGE person_pkg
    AS
    PROCEDURE read_person_no (
    p_person_id NUMBER,
    p_dependent_info OUT types_pkg.dependents@database1
    END;
    CREATE OR REPLACE PACKAGE body person_pkg
    AS
    PROCEDURE read_person_no (
    p_person_id NUMBER,
    p_dependent_info OUT types_pkg..dependents@database1
    IS
    BEGIN
    null;
    END;
    END;
    When compiling the package body on database 1
    ORA-04052: error occurred when looking up remote object TYPES@MOI
    ORA-00604: error occurred at recursive SQL level 1
    ORA-02019: connection description for remote database not found
    Noting that the database link are working properly and when compiling the package on database 2, it compile successfully
    Thank you

  • Copying CLOB data from remote database to local database

    How can i copy a CLOB data from a remote datbase table to a local database table ?
    i have a database link created from my local database to remote database, but looks like i cannot select a clob locator or clob data residing on a remote database through this link ?
    is there any way to do this ? anyone has a readily available code for doing this ? i need this very urgently, your help is greatly appreciated!
    thanks,
    SC.

    Is there a local to your pc database ???? Which is the db version of your pc(if there is)....and your server's database?????
    Simon

  • Inserting data in remote database with remote procedure

    Hi,
    I have a problem concerning inserting data in a remote database (10g) by using a remote procedure.
    I call the procedure from a 11g database just by doing:
    begin
    getlocalfilecontent@remoteserv(param)
    commit;
    end;
    And it wouldn't insert the data into the remote table.
    While when I execute the same procedure locally on that remote database (10g)
    It does insert the data I want.
    What could be causing the problem here, am I overseeing something?
    Edited by: user7634309 on 14-Aug-2009 02:14

    Already thanks for the fast replies
    The dblink works perfectly. I can select data etc with this dblink.
    The procedure on the remote database is the same.
    One other thing, when I execute the remote procedure on local database 2nd time I get the
    ORA-ERR: ORA-02041: client database did not begin a transaction.
    This could be fixed by doing a commit or rollback but still no inserting in remote table.
    So to sum it up:
    What doesn't work:(no inserting)
    On 11g server that calls remotely the procedure
    begin
    getlocalfilecontent@remoteserv(parameter);
    commit;
    end;
    What works(does insert)
    On 10g server calling the procedure locally
    begin
    getlocalfilecontent(param);
    commit;
    end;
    So everything is the same except on the 11g server I add the dblink spec behiind the procedurecall

  • Display BLOB from remote database

    Context: We are offloading documents (pdf) from our OLTP database to a dedicated 'output database.' These documents must be displayed from the application on our OLTP database using a database link. Various posts show that querying a BLOB from a remote database can best be implemented using a query on the remote table and an insert on a local (temporary) table. So far, so good. The idea is to display this BLOB using wpg_docload.download_file.
    BUT:
    When trying to display the pdf from this global temporary table an error occurs:
    ORA-14453: attempt to use a LOB of a temporary table, whose data has already been purged
    When trying to display from a normal table and issuing a rollback after wpg_docload.download_file results in another error:
    ORA-22922: nonexistent LOB value
    When trying to display from a normal table and not removing the record in any way, its works fine. Only I now have a garbage collection issue, because the remote date remain in my local (preferably temporary) table.
    It seems to me that mod_plsql needs an active session to display my pdf.
    Does anyone have an explanation for this behaviour and maybe a solution for my problem?
    Environment:
    local: 10.2.0.4.0
    remote: 11.1.0.7.0
    pdf size: ca. 150kB
    code used:
    PROCEDURE show_doc (p_nta_id IN NUMBER
    ,p_sessie IN NUMBER
    IS
    t_lob BLOB;
    t_lob2 BLOB := empty_blob();
    t_mime VARCHAR2(100);
    BEGIN
    -- copy BLOB into local global temp table
    INSERT INTO mvs_tmp_notaprint_bestanden
    npv_nta_id
    , npv_npe_sessie
    , mime_type
    , bestand
    ) -- from remote table
    SELECT npd.npv_nta_id
    ,npd.npv_npe_sessie
    ,npd.mime_type
    ,npd.bestand
    FROM mvs_notaprint_bestanden@marc npd
    WHERE npd.npv_nta_id ; = p_nta_id
    AND npd.npv_npe_sessie = p_sessie
    -- show BLOB from local global temp table
    SELECT t.bestand
    , t.mime_type
    INTO t_lob
    , t_mime
    FROM mvs_tmp_notaprint_bestanden t
    WHERE t.npv_nta_id ; = p_nta_id
    AND t.npv_npe_sessie ; = p_sessie
    t_lob2 := t_lob; -- buffer BLOB
    owa_util.mime_header(t_mime , FALSE );
    owa_util.http_header_close;
    wpg_docload.download_file(t_lob2);
    END show_doc;

    Andrew,
    thank you, the 'preserve rows' did the trick.
    Every query from a browser (even in the same browser session) is a new Oracle session, so the copied records in the global temporary table are gone after the page is displayed.
    Am I correct in assuming that each call from the browser results in a new Oracle session? I did a few tests and found for each call a different sessionid.
    Sincerly,
    Arne Suverein
    Edited by: Arne Suverein on Aug 18, 2009 3:35 PM

  • How to use HR application with Remote Database ?

    Hi,
    I tested the HR application but it working on local database.
    How can I create same application which will communicate with Remote Database.
    Any guideline ?
    Regards,
    Ajay Sharma

    Hi,
    Thanks for the reply.
    My scenario is that there is one web service and this web service has one method name "getQueryOutput".
    Input parameter to this method is Select query
    select ename form empthe return type of this method is Document. Currently I hard coded the select statement as I want to display all employee name as application starts.
    But I am getting following error
    Unable to read DataControl Usages, on loadDataControl for id: Genericwebfollowing is the code of method where I am calling Webservice data control
        public void Execute() {
            Trace.log(Utility.ApplicationLogger, Level.INFO, EmployeeList.class, "Execute",
                      "##############Inside Execute");
            List pnames = new ArrayList();
            List params = new ArrayList();
            List ptypes = new ArrayList();
            pnames.add("query");
            ptypes.add(String.class);
            params.add("select ename from emp");
            try {
                Trace.log(Utility.ApplicationLogger, Level.INFO, EmployeeList.class, "Execute",
                          ">>>>>> Before invokeDataControlMethod");
                // This calls the DC method and gives us the Return
                GenericType result =
                    (GenericType)AdfmfJavaUtilities.invokeDataControlMethod("Genericweb", null, "getQueryOutput",
                                                                            pnames, params, ptypes);
                GenericType cfgt = (GenericType)result.getAttribute("Results");
                int count = cfgt.getAttributeCount();
                for (int i = 0; i < count; i++) {
                    GenericType fgt = (GenericType)cfgt.getAttribute(i);
                    Employee e = (Employee)GenericTypeBeanSerializationHelper.fromGenericType(Employee.class, fgt);
                    GenericType tempgt = (GenericType)fgt.getAttribute("ENAME");
                    e.setEname((String)tempgt.getAttribute(0));
                    s_employees.add(e);
            } catch (AdfInvocationException e) {
                Trace.log(Utility.ApplicationLogger, Level.SEVERE, EmployeeList.class, "Execute",
                          ">>>>>> AdfInvocationException=" + e.getMessage());
                //AdfException ex = new AdfException("Error Invoking Web Service.  Please try later", AdfException.WARNING);
                AdfException ex = new AdfException(e.getMessage(), AdfException.WARNING);
                throw ex;
            } catch (Exception e2) {
                Trace.log(Utility.ApplicationLogger, Level.SEVERE, EmployeeList.class, "Execute",
                          ">>>>>> Exception=" + e2.getMessage());
                //AdfException ex = new AdfException("Error Invoking Web Service.  Please try later", AdfException.WARNING);
                AdfException ex = new AdfException(e2.getMessage(), AdfException.WARNING);
                throw ex;
        }Regards,
    Ajay sharma

Maybe you are looking for

  • How to use Count with other all fields

    Hello guys. Sorry about my question because it s syntax but i didnt find in google. How can i use count combined with other all fields. Like SELECT count(*) 'other all fields like * '  FROM VBAK . Thank you very much.

  • Can I share MOVIES with shared libraries across networked macs?

    I have my main mac with several movies stored on an external with shortcut links showing in Itunes / Movies. Works fine and two different Apple TV's all work properly. I have a third "Bedroom mac" that picks up the shared itunes library music only. H

  • Setting ORACLE_SID and connecting without @SID

    I am trying to install ArcSDE on the same server I have my 11g RDBMS. The SDE service fails because of a ORA-12560 error. But, that is not my question just the facts which build up to my question. The server is Windows 2003 64bit. The database is 11g

  • Optiarc  DVD RW AD-5630A problem

    I have a problem with my iMac. It reads dvds just fine but it doesn't read any cds. I've tried to use different brands of blank cds and also I tried to put in several audio cds, it doesn't read them. There's a sound like it is starting reading it, th

  • Convert imaq image into image vidéo format

    hi, (i'm using a french version of labview 7.0, so please answer with components in french!!!) i need to convert an IMAQ image (coming out from an IMAQ-Acquire vi) into the image format that comes out from the following vi:  "Tracer une table de pixe