ViewObject based on a database link

hi,
i have a ViewObject with following Query:
SELECT license_type_desc
FROM tablename@databaselink
WHERE license_sys_type = :bindLizType
When i start the application i always get following error message->
ORA-02063
how can i build a query based on a database link ?

Hi,
3 questions for you to follow up
1. does it work in SQL Plus
2. does it work in the ADF BC tester ?
3. Does it work in a 10.1.3 production version?
Frank

Similar Messages

  • Database Link and error ORA-02019

    Oracle 9.2.0.6 on Windows 2003
    Has anybody encountered this before and been able to resolve.
    SQL> connect SchemaA/password@NSN1
    SQL> create database link MyLink1
    2 connect to REMDB identified okm135
    3 using 'STAF'
    4 /
    Database link created.
    SQL> create or replace VIEW rem_mydocs as
    2 (select * from mydocs@MyLink1)
    3 /
    View created.
    SQL> grant select on rem_mydocs to UserA ;
    Grant succeeded
    SQL> Create or replace function fn_rem_mydocs
    2 return Sys_RefCursor
    3 IS
    4 v_rc Sys_RefCursor;
    5 begin
    6  open v_rc for
    7       select * from rem_mydocs ;
    8  return (v_rc);
    9 end;
    10 /
    Function created.
    SQL> grant execute on fn_rem_mydocs to UserA;
    Grant succeeded
    SQL> connect UserA/test975@NSN1
    Connected.
    SQL> create or replace synonym rem_mydocs for SchemaA.rem_mydocs;
    Synonym created.
    SQL> create or replace synonym fn_rem_mydocs for SchemaA.sp_rem_mydocs ;
    Synonym created.
    SQL> select count(*) from rem_mydocs ;
    COUNT(*)
          324
    SQL> var g_ref refcursor
    SQL> begin :g_ref := fn_rem_mydocs; end;
    2 /
    SQL> print g_ref
    ERROR:
    ORA-02019: connection description for remote database not found                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Metalink Note:262881.1
    The information in this article applies to:
    Oracle Server - Enterprise Edition - Version: 8.0.x to 9.2.0.x
    This problem can occur on any platform.
    Errors
    ORA 2019 connection description for
    Symptoms
    Describe on a Synonym which is based on a database link may issue error:
    ORA-2019 connection description for remote database not found
    Select from the synonym works successfully.
    Cause
    Based on the Bug 3071468 this issue happens when the local
    and the remote database have different domain name in the GLOBAL_NAME.
    For example if:
    select * from global_name;
    gives from local database:
    PROD.UK.ORACLE.COM
    and the remote database has:
    TEST.US.ORACLE.COM
    then we have different domains for the global_name.
    This does not reproduce when the domain is the same for both global_names.
    Fix
    This issue is fixed in 10.1.0.2.
    For previous versions we have the following 2 workarounds:
    1. Use View in the place of the synonym. This works.
    2. Alter one of the databases global_name , so that the 2 global_names to have the same domain.
    For example in the above example chenge the TEST database as:
    sql> alter database rename global_name to test.uk.oracle.com;
    Then you would have to drop and recreate the database link.
    References
    Bug 3071468 - Ora-2019 May Occur When Describing An Synonym Using A Database Link
    Regards,
    Reza
    Message was edited by:
    Reza

  • Creating a hierarchy based on a remote database link

    I am trying to create a hierarchy based on a synonym for a remote database table. The hierarchy wizard works correctly, and the table columns do appear as choices in the drop boxes. However, when I try to run the application, I get the error "No data found. This data does not exist or you do not have privileges to view it". Does anyone know how to resolve this error? Or how to work around this?
    I can successfully create and query a form based on the remote table. And, I am able to create a hierarchy from other tables (which do not use a database link) without a problem.
    Thanks for your help!

    This is the query which I am using to build a report
    SELECT
    rollup_timestamp "Date",
    max(decode(target_guid,'199F0B201A3D71A63040BADFAA4F9E90',average,0)) host1,
    max(decode(target_guid,'3FB1329F59339C07E11304B69DC4E594',average,0)) host2
    FROM "sysman.MGMT$METRIC_DAILY"
    WHERE
    (target_guid='199F0B201A3D71A63040BADFAA4F9E90'
    or
    target_guid='3FB1329F59339C07E11304B69DC4E594')
    AND
    metric_name='Load'
    AND
    metric_column='memUsedPct'
    AND
    rollup_timestamp >= to_date('01-10-2009','dd-mm-yyyy') and rollup_timestamp <= sysdate
    GROUP BY rollup_timestamp
    ORDER BY "Date"
    And for your previous question I couldn't even create a page.
    Regards
    Balaji
    Edited by: user7290747 on 6/01/2010 16:17

  • Building a form based on a synonym that points to a database link

    Hello
    Finally I got APEX 3 installed on our test server. I am starting to work with it and I faced my first problem...
    I need to build an application that will query and maintain data stored in another database server. This is because we were not allowed to install APEX in the production server. So I created a schema DEV_USER (which I associated with the workspace). In this schema I created a private database link my_link and a synonym:
    create synonym the_table for the_table@my_link
    I am trying to create a form to query and maintain that table via the synonym but I am not succeeding. The wizard does not work as the synonym is not listed in the table list. Then I created the form manually, creating the items, the Automatic Row Processing process etc. When I run the page I get the error Error ORA-01403: no data found.
    Is it possible to use APEX in this scenario (accessing synonyms that point to database links)? What is the recommended approach in this case?
    Thanks
    Luis

    Hi Kathryn
    Thanks very much for your reply. I did as you suggested; I dropped the synonym and created a view:
    create view my_table as select * from my_table@my_dblink
    ...and was able to create a multirow form based on that view.
    However, when I try to update any value on the form, I get the following error when submitting it:
    Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-01461: can bind a LONG value only for insert into a LONG column ORA-02063: preceding line from DB_LINK, update "APEX_DEV"."MY_TABLE" set "CAMPAIGN_ID" = :b1, "SITE" = :b2, "PERCENTUAL" = :b3, "DURATION_MONTHS" = :b4, "PRG_ID" = :b5, "AFF_ID" = :b6 where "CAMPAIGN_ID" = :p_pk_col and "SITE" = :p_pk_col2
    I thought it was because the form was based on a view; so I dropped the view and re-created the synonym (using the same name). When I tried to submit the updates again I got this error:
    Error in mru internal routine: ORA-20001: Error in MRU: row= 0, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "35636E5FDD251146DB4B7B56119E7914", item checksum = "A884FA378C851786DDFE3A33709CB23C"., update "APEX_DEV"."MY_TABLE" set
    If you or anyone else could point out what I am missing, and maybe explain what those messages mean, it would be great!
    Thanks
    Luis

  • Creation of Database link and access the same plus Snapshot creation

    i want talk between two oracle server. i decided to go for snapshot creation with periodical refresh. For which i am having two oracle server's with different ip address located inside our office setup.
    I have created a database link between two servers.
    first server name global
    userid scott
    password tiger
    second server name asil
    userid scott
    password tiger
    both the user have been given dba rights.
    in both the server the services and listners are all started. i gave the following command to create database link.
    from asil server
    create public database link global connect by scott identified by tiger using 'global'
    the command was successful and the link was created. Now i tried to access a table of the scott user of the global server.
    select * from emp@global;
    now it is giving error. I want to know how the link can be created and how it can be accessed. i refered the 8i online documentation and done the things based on that. i expect valuble solution from all possible persons
    null

    A reason for this problem could be that your database is configured that a database link has to have exactly the same name like the global name of the database instance it should connect to.
    Can you please provide the oracle error code / message ? With this information there might be more hints I can give you.

  • 20 Index Restriction on Remote Tables (i.e. using Database Links)

    The Oracle Database Administrator's Guides for 10g and 11g document a performance restriction that "No more than 20 indexes are considered for a remote table." If I go back to the 8i documentation it says "In cost-based optimization, no more than 20 indexes per remote table are considered when generating query plans. The order of the indexes varies; if the 20-index limitation is exceeded, random variation in query plans may result."
    Does anyone have more details on this performance restriction? In particular I am trying to answer these questions:
    1) Are the 20 indexes which are considered by the CBO still random in 10g?
    2) Can I influence which indexes are considered with index hints or will my hints only be considered if they are for one of the "random" 20 indexes which are being considered by the CBO?
    3) Are there any other approaches or work-arounds to this restriction assuming you need to select from a large remote table with more than 20 indexes (and need to perform the selection using 1 of those indexes to get adequate performance) or do we need to abandon database links for this table?
    Thanks in advance for your input.

    So, here's my simple test.
    SQL>
    SQL> create table gurnish.indexes20plus ( n1 number, n2 number, n3 number, n4 number, n5 number, n6 number, n7 number,
    2 n8 number, n9 number, n10 number, n11 number, n12 number, n13 number, n14 number, n15 number, n16 number,
    3 n17 number, n18 number, n19 number, n20 number, n21 number, n22 number, n23 number, n24 number,
    4 n25 number, n26 number, n28 number);
    create index xin1 on indexes20plus (n1);
    Table created.
    SQL> SQL> create index xin2 on indexes20plus (n2);
    create index xin3 on indexes20plus (n3);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin4 on indexes20plus (n4);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin5 on indexes20plus (n5);
    create index xin6 on indexes20plus (n6);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin7 on indexes20plus (n7);
    Index created.
    SQL> SQL> create index xin8 on indexes20plus (n8);
    Index created.
    SQL> SQL> create index xin9 on indexes20plus (n9);
    Index created.
    SQL>
    SQL> create index xin10 on indexes20plus (n10);
    Index created.
    SQL> SQL> create index xin11 on indexes20plus (n11);
    create index xin12 on indexes20plus (n12);
    create index xin13 on indexes20plus (n13);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin14 on indexes20plus (n14);
    Index created.
    SQL> SQL> create index xin15 on indexes20plus (n15);
    Index created.
    SQL>
    SQL> create index xin16 on indexes20plus (n16);
    Index created.
    SQL>
    SQL> create index xin17 on indexes20plus (n17);
    Index created.
    SQL> SQL> create index xin18 on indexes20plus (n18);
    Index created.
    SQL> SQL> create index xin19 on indexes20plus (n19);
    Index created.
    SQL> SQL> create index xin20 on indexes20plus (n20);
    Index created.
    SQL> SQL> create index xin21 on indexes20plus (n21);
    Index created.
    declare
    i number;
    begin
    for i in 1..100
    loop
    dbms_random.seed(i+100);
    insert into indexes20plus values (dbms_random.value(1,5),dbms_random.value(1,21),dbms_random.RANDOM, dbms_random.RANDOM,dbms_random.value(1,20),
    dbms_random.value(1,4),dbms_random.value(1,6), dbms_random.value(1,7),dbms_random.value(1,9),dbms_random.value(1,10),
    dbms_random.value(1,11),dbms_random.value(1,12),dbms_random.value(1,13),dbms_random.value(1,14),dbms_random.value(1,1),
    dbms_random.value(1,1),dbms_random.value(1,19),dbms_random.value(1,122),dbms_random.value(1,20),dbms_random.value(1,20)
    ,dbms_random.value(4,20),dbms_random.value(1,20),dbms_random.value(1,20),dbms_random.value(1,20),dbms_random.value(1,20)
    ,dbms_random.value(4,20),dbms_random.value(4,20));
    end loop;
    commit;
    end;
    SQL> set autotrace traceonly
    SQL> l
    1* select * from gurnish.indexes20plus@lvoprds where n1 = 4
    SQL> /
    no rows selected
    Execution Plan
    Plan hash value: 441368878
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU
    )| Time | Inst |
    | 0 | SELECT STATEMENT REMOTE | | 1 | 351 | 1 (0
    )| 00:00:01 | |
    | 1 | TABLE ACCESS BY INDEX ROWID| INDEXES20PLUS | 1 | 351 | 1 (0
    )| 00:00:01 | LVPRD |
    |* 2 | INDEX RANGE SCAN | XIN1 | 1 | | 1 (0
    )| 00:00:01 | LVPRD |
    Predicate Information (identified by operation id):
    2 - access("A1"."N1"=4)
    Note
    - fully remote statement
    - dynamic sampling used for this statement
    Statistics
    0 recursive calls
    0 db block gets
    0 consistent gets
    0 physical reads
    0 redo size
    1897 bytes sent via SQL*Net to client
    481 bytes received via SQL*Net from client
    1 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    0 rows processed
    SQL> select * from gurnish.indexes20plus@lvoprds where n21 = 4;
    no rows selected
    Execution Plan
    Plan hash value: 2929530649
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU
    )| Time | Inst |
    | 0 | SELECT STATEMENT REMOTE | | 1 | 351 | 1 (0
    )| 00:00:01 | |
    | 1 | TABLE ACCESS BY INDEX ROWID| INDEXES20PLUS | 1 | 351 | 1 (0
    )| 00:00:01 | LVPRD |
    |* 2 | INDEX RANGE SCAN | XIN21 | 1 | | 1 (0
    )| 00:00:01 | LVPRD |
    Predicate Information (identified by operation id):
    2 - access("A1"."N21"=4)
    Note
    - fully remote statement
    - dynamic sampling used for this statement
    Statistics
    1 recursive calls
    0 db block gets
    0 consistent gets
    0 physical reads
    0 redo size
    1897 bytes sent via SQL*Net to client
    481 bytes received via SQL*Net from client
    1 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    0 rows processed
    SQL>

  • How can you SELECT via Database Link CLOB data using Application Express?

    Customer Issue:
    Developer using Oracle's Application Express 3.1. The Developer is trying to SELECT a CLOB datatype column from a remote (10.2.0.3) database, via a database link on her 10.2.0.4 based client Application. The Developer wants to be able to select CLOB data from the remote database which has limitation that she can't make any changes to the remote database.
    Developer's Comments:
    I do a select and get the error. Getting error ORA-22992: cannot use LOB locators selected from remote tables. So she feels she can't use dbms_lob.substr in this configuration I can do a "select into" but that is for one value. I am trying to run a select statement for a report that brings back more than one row. I do not have permission to change anything on the remote database. I want to access the remote database and multiple tables.
    This is not something I work with, would greatly appreciate help or ideas. Is this a limitation of the 3.1; or does she just not have this set up correctly; or should she be using a Collection (if yes, please share example)
    Thanks very much,
    Pam
    Edited by: pmoutrie on Jun 4, 2009 12:01 PM
    Hello???
    Would really appreciate an answer.
    Thanks,
    Pam

    This may not be a perfect solution for you but it worked for my situation.
    I wanted to grab some data from Grid Control's MGMT$JOB_STEP_HISTORY table but I couldnt' create an Interactive Report due to the existance of a CLOB column. I cheated this by creating a view on the GC DB, grabbing the first 4000 characters and turning it into a varchar2 column:
    create view test_job_step_history as
    select job_Name, target_name, status, start_time, end_time, to_char(substr(output,1,4000)) output
    from MGMT$JOB_STEP_HISTORY where trunc(end_time) > trunc(sysdate)-90
    In an APEX Interactive Report:
    select * from test_job_step_history@GCDB
    Granted, the output looks aweful right now but I am only looking for a very particular output (failed, denied, ORA-, RMAN-, etc) so the formatting isn't the most important thing to me right now.
    If anyone can improve -- and I'm sure you can -- on this I'd love to hear about it.
    Thanks,
    Rich

  • How to Execute a Remote Procedure in Portal using Database Link

    Hi,
    I followed the instructions to create a Portal form for a remote procedure. But I am encountering the following error. Can someone advise what may be the cause?
    Failed to execute - Missing string(create_package_body) language(us) domain (wwv) sub_domain (wwv_builder) (WWV-04300)
    ORA-04020: deadlock detected while trying to lock object PUBLIC.PORTLET_SCHEMA (WWV-11230)
    Failed to parse as PORTAL - (WWV-08300)
    PURPOSE
    How to execute a remote procedure in Portal using Database Link.
    DESCRIPTION
    This procedure assumes that you have two databases, one of which is remote, and Portal is configured in the other.
    Remote Database A:
    ==================
    1) Create a procedure as follows: Create or Replace PROCEDURE SCOTT.ADD_TWO_VALUES ( v_one IN NUMBER, v_two IN NUMBER, v_result OUT NUMBER) as begin v_result :=v_one+v_two; end; 2) Grant execute privileges to PUBLIC on the procedure.
    Database B (where Portal is configured): ========================================
    1) Create a public database link and choose to connect as a specific user (say SYSTEM). By default, in an Oracle 8i database, the "global_names" parameter in initSID.ora (or init.ora) file is set to "true". This Global Naming parameter enforces that a dblink has the same name as the database it connects to. Therefore, if the remote global database (A) name is "ora8.acme.com" then the database link should also be named as "ora8.acme.com".
    2) Create a synonym for the procedure in Database A. Make sure you fully qualify the procedure name in the remote database (like SCOTT.ADD_TWO_VALUES).
    3) Create a dynamic page to execute the procedure. The ORACLE tags in the dynamic page will look similar to the following: <ORACLE> DECLARE v_total NUMBER; BEGIN ADD_TWO_VALUES(:v_one,:v_two, v_total); htp.p('The total is => '); htp.p('<input type="TEXT" VALUE='||v_total||'>'); htp.para; htp.anchor('http://<machine.domain:port#>/pls/portal30/SCOTT.DYN_ADD_TWO_VALUES.show_parms', 'Re-Execute Procedure'); END; </ORACLE>
    4) Portal does not have an option to create a form based on a synonym. Therefore, if you want to create a form instead of a dynamic page, create a wrapper procedure and then create a form based on this procedure. For example: Create or Replace PROCEDURE PORTAL30.ADD_TWO_VALUES_PR ( v_one IN NUMBER, v_two IN NUMBER, v_total OUT NUMBER) as begin add_two_values(v_one, v_two, v_total); end;
    5) Grant execute privileges to PUBLIC on the procedure.

    hello...
    any input will welcomed... Thanks..

  • Using database link via dbms_scheduler

    Hello out there,
    I have a problem calling a stored procedure via dbms_scheduler that pulls some rows over a public database link.
    The setup is the following:
    create public database link mediabase using 'mediabase';
    create or replace procedure hole_kurse as
    mdatum date;
    begin
       select max(datum) into mdatum
       from dt_wechselkurs;
       insert into dt_wechselkurs l
          (waehrung,
           datum,
           wechselkurs)
       (select
           r.waehrung,
           r.datum,
           r.wechselkurs
        from
           dt_wechselkurs@mediabase r
        where
           datum>mdatum);
        commit;
    end hole_kurse;
    begin
       dbms_scheduler.create_job(job_name          =>  'wechselkurse',
                                 job_type          =>  'STORED_PROCEDURE',
                                 job_action        =>  'hole_kurse',
                                 start_date        =>  sysdate,
                                 repeat_interval   =>  'FREQ=DAILY; BYHOUR=7; BYMINUTE=0; BYSECOND=0');
       dbms_scheduler.enable(name => 'wechselkurse');
       commit;
    end;
    /I can access the database link in SQL and I can call the procedure hole_kurse from SQL without any errors. But the job fails writing "ORA-01017: invalid username/password; logon denied" into alert.log. I also tried using dbms_job which used to work with Oracle 10g but now fails with the same error.
    My Oracle version is 11.2.0.2 64bit on Window Server 2008R2.
    So what do I have to change that my job will run?
    Many thanks in advance,
    dhalek

    I'm not completely sure, but here is a possibility:
    The [url http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_5005.htm#i2061505]docs have this to say:
    >
    If you specify CONNECT TO user IDENTIFIED BY password, then the database link connects with the specified user and password.
    If you specify CONNECT TO CURRENT_USER, then the database link connects with the user in effect based on the scope in which the link is used.
    If you omit both of those clauses, then the database link connects to the remote database as the locally connected user.
    >
    Your dblink is like this:
    create public database link mediabase using 'mediabase';That is the third case described, so the link connects as "the locally connected user", which in the scheduler session is probably not your user.
    You may try it with the second case described in the docs:
    create public database link mediabase CONNECT TO CURRENT_USER using 'mediabase';If I understand the docs correct, then within the procedure the dblink will use the schema that the procedure is owned by (unless the procedure is using invoker-rights, then it will be the invoking user.)
    It is just a guess, but you can try it and see ;-)

  • Using database link  with a dynamic SQL in Forms 5

    I have a Form 5 application where a database link is specified in a client version of dynamic SQL. The function that the application is designed to perform is to access data in a table in a remote database and use it to populate another table in a local database with the same structure as the source table. Dynamic SQL is used because the name of the table can only be resolved during run time.
    The problem is that it gives error with code 'ORA-03113' and text 'End-of-file on communication channel' when you try to run it.
    Is it not possible to use a database link with a dynamic SQL? What can I do to overcome the problem ?

    Try to create a local view based ao the remote table and use the view.

  • Database link from XE to 8i - Ok for XE, but error ORA-12705 for ApEx

    I have oracle 8.1.7.4 (8i) with these settings:
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    {color:#ff0000}NLS_CHARACTERSET CL8MSWIN1251{color}
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT dd-mon-rr
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    {color:#ff0000}NLS_NCHAR_CHARACTERSET CL8MSWIN1251{color}
    NLS_RDBMS_VERSION 8.1.7.4.0
    And oracle XE:
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    {color:#ff0000}NLS_CHARACTERSET AL32UTF8{color}
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    {color:#ff0000}NLS_NCHAR_CHARACTERSET AL16UTF16{color}
    NLS_RDBMS_VERSION 10.2.0.1.0
    I create database link from XE to 8i - it works fine:
    I create view in XE based on table from 8i
    and using SQL Developer {color:#0000ff}I can Select/Insert{color} into this view {color:#0000ff}from XE{color}.
    BUT when I login {color:#0000ff}to Application Express{color} and try the same SELECT from the view - {color:#0000ff}I get error:{color}
    ORA-12705: ORA-12705: invalid or unknown NLS parameter value specified
    ORA-02063: preceding line from LINKED8i
    What should I do to make Application Express work with the view based on table in remote database correctly - i.e. allow me to Select/Insert/... ?

    Hi,
    i don't have a solution for your problem but i want to share with you my research in using Database Links with XE/Apex.
    I have done it a in a lot of projects and in most of all cases it shows a strange behavior when using Database Links via Apex. As far as i know SQL-Request in Apex are executed via the DBMS_SQL-Package. And that seems to be source for all errors and strange behaviors you get.
    If you post a SQL-Request directly from your XE, everything's fine. If you do the same from APEX, sometimes it is very slow and sometimes it fails.
    So, my approach to this issue is to work with Materialized Views. Your can create MV's on your XE to reference your remote tables and even schedule refreshes. In Apex, you only work with these MV's instead of the remote tables. And everything's going to be fine!
    Hope this helps!
    Regards, Jens

  • Database Link Creation and Acessing

    i want to talk between two oracle server. i decided to go for snapshot creation with periodical refresh. For which i am having two oracle server's with different ip address located inside our office setup.
    I have created a database link between two servers.
    first server name global
    userid scott
    password tiger
    second server name asil
    userid scott
    password tiger
    both the user have been given dba rights.
    in both the server the services and listners are all started. i gave the following command to create database link.
    from asil server
    create public database link global connect by scott identified by tiger using 'global'
    the command was successful and the link was created. Now i tried to access a table of the scott user of the global server.
    select * from emp@global;
    now it is giving error. I want to know how the link can be created and how it can be accessed. i refered the 8i online documentation and done the things based on that. i expect valuble solution from all possible persons
    null

    See link http://kr.forums.oracle.com/forums/thread.jspa?threadID=221081
    Hope this helps solve your issue.
    thanks
    http://swervedba.wordpress.com/

  • Variable database name in SQL Server query using Oracle database link

    Hi All,
    I have an ApEx 4.1 app running on 11g x64 (11.2.0.1) on Windows Server 2008 x64, and I have some data integration points with a SQL Server (2005 and 2008) that I need to establish. I have configured the database link with dg4odbc and it works beautifully... I can execute queries against the SQL Server database without any problems using the database link.
    However, there is a scenario where the SQL Server database name is dynamic, and I need to generate it on the fly in a PL/SQL block, and then use that in a dynamic SQL query (all of this in ApEx). This is where I run into problems... when I am querying the default database based on the ODBC connection and I don't have to specify the database name, there is no issue. But when I need to access one of several other non-default databases, I keep receiving the "invalid table" error.
    This runs fine:* (note that "fv" is the name of my database link)
    v_query1 := 'select "ReleaseDate" from dbo.Schedules@fv where dbo.Schedules."SchedID" = :schedule';
    EXECUTE IMMEDIATE v_query1 into rel_date using schedule;
    I then take that rel_date variable, convert to a varchar2 (rel_date_char), and then use it as the database name in the next query...
    This returns an error_ (Error ORA-00903: invalid table name)
    v_query2 := 'select "PARTNO" from :rel_date_char.dbo.ProdDetails@fv where "SchedID" = :schedule and "UnitID" = :unit
    and "MasterKey" = :master and "ParentKey" = :parent';
    EXECUTE IMMEDIATE v_query2 into part_number using schedule, unit, master, parent;
    I have also tried using all of the following to no avail:
    'select "PARTNO" from ' || :rel_date_char || '.dbo.ProdDetails@fv where "SchedID"...
    'select "PARTNO" from ' || rel_date_char || '.dbo.ProdDetails@fv where "SchedID"...
    'select "PARTNO" from ' || @rel_date_char || '.dbo.ProdDetails@fv where "SchedID"...
    'select "PARTNO" from @rel_date_char.dbo.ProdDetails@fv where "SchedID"...
    Is there a way to do this in PL/SQL?
    Thanks for any help!
    -Ian C.
    Edited by: 946532 on Jul 15, 2012 7:45 PM

    Just did a test using passthrough:
    SQL> set serveroutput on
    SQL> declare
    2 val varchar2(100);
    3 c integer;
    4 nr integer;
    5 begin
    6 c:= dbms_hs_passthrough.open_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3;
    7 dbms_hs_passthrough.parse@FREETDS_DG4ODBC_EMGTW_11_2_0_3 (c, 'select count(*) from EMP');
    8 LOOP
    9 nr:= DBMS_Hs_Passthrough.fetch_row@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    10 exit when nr=0;
    11 dbms_hs_passthrough.get_value@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c,1,val);
    12 dbms_output.put_line(val);
    13 end loop;
    14 dbms_hs_passthrough.close_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    15 end;
    16 /
    24576
    PL/SQL procedure successfully completed.
    SQL> declare
    2 val varchar2(100);
    3 c integer;
    4 nr integer;
    5 begin
    6 c:= dbms_hs_passthrough.open_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3;
    7 dbms_hs_passthrough.parse@FREETDS_DG4ODBC_EMGTW_11_2_0_3 (c, 'select count(*) from dbo.EMP');
    8 LOOP
    9 nr:= DBMS_Hs_Passthrough.fetch_row@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    10 exit when nr=0;
    11 dbms_hs_passthrough.get_value@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c,1,val);
    12 dbms_output.put_line(val);
    13 end loop;
    14 dbms_hs_passthrough.close_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    15 end;
    16 /
    24576
    PL/SQL procedure successfully completed.
    So all 3 ways work for me.
    Edited by: kgronau on Jul 23, 2012 10:08 AM
    Now using variables to perform the select:
    SQL> declare
    2 val varchar2(100);
    3 c integer;
    4 nr integer;
    5 tabname varchar2(20) :='EMP';
    6 ownr varchar2(20) :='dbo';
    7 dbname varchar2(20) :='gateway';
    8 begin
    9 c:= dbms_hs_passthrough.open_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3;
    10 dbms_hs_passthrough.parse@FREETDS_DG4ODBC_EMGTW_11_2_0_3 (c, 'SELECT count(*) FROM '||dbname||'.'|| ownr || '.'||tabname||'');
    11 LOOP
    12 nr:= DBMS_Hs_Passthrough.fetch_row@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    13 exit when nr=0;
    14 dbms_hs_passthrough.get_value@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c,1,val);
    15 dbms_output.put_line(val);
    16 end loop;
    17 dbms_hs_passthrough.close_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    18 end;
    19 /
    24576
    PL/SQL procedure successfully completed.
    => instead of executing the statement using "execute Immediate" we have to use PASTHROUGH package to pass the statement to the SQL Server.
    Edited by: kgronau on Jul 23, 2012 10:10 AM

  • Database Links Help

    I want to create a dynamic PL/SQL Portlet which displays an image based on a value in a remote database.
    Can someone explain how to use Database Links in Oracle Portal and then how to create the public synonym so it can be accessed in the SQL?
    I've tried to do it but am unsure which schema to create a DB Link To - Is it the Portal Schema?
    any help is appreciated.
    Thanks
    please note i'm trying to do something like this:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>#title#</title>
    </head>
    <body>
    <ORACLE>
    declare branding varchar2(50);
    begin
    select parameter_value
    into branding
    from system_parameters
    where parameter = 'BRAND';
    if branding = '1'
    then
    htp.p('HTML FOR BRAND 1');
    else
    htp.p('HTML FOR BRAND 2');
    end if;
    end;
    </ORACLE>
    </body>
    </html>
    System parameters is the table in the remote DB
    Thanks!

    In the Portal Navigator click on the Database tab.
    Create a new schema e.g. BRAND. If you give it a password you can log in directly to that schema using SQLDeveloper, which can be hugely helpful for debugging and testing.
    Click on the schema in the list to open it up. Create a new database link. You will need to know a named user and password on the remote database, as well as the SID. The SID must match an entry on the TNSNAMES.ORA file on the application server, which is not necessarily the same as your local PC (this has caught me out far too often...).
    Create a synonym for the table SYSTEM_PARAMETERS in your new schema. On the second page you will have to type in the source table name (the pop-up search doesn't work across database links) and also select the database link (it's best to use the popup search for this).
    If you use SQLDeveloper to log into your new schema then you should be able to check everything is well by running your select stagement:
    select parameter_value
    from system_parameters
    where parameter = 'BRAND';
    Good luck!
    Patrick

  • Apex and database links

    Hi,
    How does Apex perform using database links. We are currently on version 3.1.1.00.09 of Applicatiion Express and have all of our data in one database. We will soon be upgrading our environment to Oracle Database Appliance. We are thinking about splitting our staging area out of our existing database. We use Apex for our dashboard reporting. We are in hopes to upgrade to latest version of Apex. If we split our database up we will have to use database links to access data. How does Apex perform using database links. Will our Interactive reports work? Will performance degrade? Wanted to know your thoughts on that.
    Pam

    Having used such a model for several years, I'd confirm that it is possilble to make it work, however it may not be optimal, performance-wise (depending on your data model).
    Typically speaking, if you are just querying your external database "straight" (i.e. where all of the tables being queried are on the remote DB), you shouldn't notice a significant degradation in performance. The problems can come in when you either include "local" tables in your queries (in which case you need to decide which site should be 'driving') or where DML is involved (in which case the driving site defaults to the local DB) - your execution plans can change quite significantly and often for the worse.
    I have tried a few strategies to mitigate against this, including converting some DML statements to be based on pipelined table functions instead of views, creating local Materialized Views of commonly accessed data (usually aggregated in some manner), or caching result sets (i.e. using the built-in apex caching function) for something more flexible but ultimately it'd be easier if everything was sitting on the same DB.

Maybe you are looking for

  • ADF 11g : Live messages about status/errors while uploading a Excel file

    Hi, Im using ADF 11.1.1.2. In the ADF application, there is a module where the user will upload a excel sheet with lot of data(50,000 lines) in multi sheets. We are validating the data against certain business validations and inserting this data into

  • Show/Hide Divs Problem in IE6

    Hello, and thanks for taking a look at this. I have inherited a web site which isn't performing very well in IE6, more details later. The setup is as follows: The website delivers training content. The design is such that there are no scrollbars, all

  • Interview question: EIGRP and Grandmother

    Hi all. A question was asked to me a couple of months ago during an interview. I'm quite curious as to how others would respond to it. Here it is. "If I was your grandmother, how would you make me understand EIGRP?" I know that when the interviewer s

  • TIMESTAMPDIFF calculation in Teradata & Oracle

    Hi All, I'm using OBIEE 10.1.3.4 version. I have noticed difference in the calculation of TIMESTAMPDIFF (SQL_TSI_WEEK) when connecting to Teradata & Oracle as Warehouse DB. The diff is in the way the rounding is done. Has anyone seen similar behaviou

  • Using CSS With PHP..

    Hello! I need to create several PHP-based pages for use with a photo gallery and would like to use my existing CSS to style the pages.  Is this possible? Thanks!