ORA-02063 when selecting over DBLINK

Hey, I'm having an issue where a complex select is returning a 02063 (it has an 'invalid identifier' on a column that clearly exists)
I would post the query but it's pretty large and joins 2 views. One of the views selects through a dblink, so it's imbedded pretty far in. I cannot isolate parts of the query that are causing the issue because of this.
What I wanted to know is the best way to write the link or the view to avoid these parser issues. Here's the complete error message I get as well as the script for the link:
ORA-00904: "A"."BUYING_MEMBER_ID": invalid identifier
ORA-02063: preceding line from WEBAPP6
create public database link "WEBAPP6.REGRESS.RDBMS.DEV.US.ORACLE.COM"
connect to ABC_WEBAPP
identified by "<pwd>"
using 'abcdb';
And the script for the view which uses the link:
SELECT a.ID member_id, a.NAME member_nm, a.url member_url, a.address_1,
a.address_2, a.city, a.fda_license, a.is_abc_board_member,
a.is_gsabc_board_member, a.is_abc_foundation_board_member,
c.short_name state_id, d.code zip_cd, e.code county_cd, a.phone_main,
a.phone_alt, a.fax, b.financial_ctr_id, b.benchmarking_ctr_id,
b.piag_ctr_id
FROM MEMBER@webapp6 a LEFT OUTER JOIN lu_member_dw b ON a.ID = b.member_id
JOIN state@webapp6 c ON a.state_id = c.ID
JOIN zip@webapp6 d ON a.zip_id = d.ID
JOIN county@webapp6 e ON a.county_id = e.ID
UNION
SELECT member_id, member_nm, member_url, ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', financial_ctr_id, benchmarking_ctr_id,
piag_ctr_id
FROM lu_member_dw
WHERE member_id NOT IN (SELECT ID
FROM MEMBER@webapp6)

Always use alias names! If you have no alias name, create one. Without alias the database can just guess where this column is coming from.
Consider UNION ALL instead of union (not sure if it is the same result).
Consider to create a view on the other database that joins all tables and that you access over the DB-Link.
There are also some hints that influences where the selects are executed (on your DB or on the other one), however I forgot the name of them (PUSH_SUB?).

Similar Messages

  • ORA-01652 and ORA-02063 in select with dblink

    Hello,
    I execute the following select in a Oracle database:
    SELECT HAC.ENT_ID, HAC.MAT, HAC.IDAC,
    NVL(HAC.DATINI, 0) AS DATINI, NVL(HAC.DATEND, 0) AS DATEND,
    HAC.TIP, GAP.IDAC AS IDAC_GAP, HAP.IDAC AS IDAC_HAP
    FROM USER1.GAP GAP, HAC@DBLINK HAC, HAP@DBLINK HAP
    WHERE
    HAC.IDAC IN (SELECT DISTINCT IDAC FROM USER1.GAC)
    AND HAC.IDAC = GAP.IDAC (+)
    AND HAC.IDAC = HAP.IDAC (+)
    GAP 157133 regs (873mb)
    GAC 13555 regs (462mb)
    HAC 57198111 regs (17985mb)
    HAP 3940407 regs (14184mb)
    GAP, GAC, HAC and HAP are views.
    The result is:
    ORA-01652: unable to extend temp segment by in tablespace
    ORA-02063: preceding line from DBLINK
    The tablespace temporal of the local database used is:
    TABLESPACE_NAME|USED_EXTENTS|USED_BLOCKS|FREE_EXTENTS|FREE_BLOCKS
    ATMP |0 |0 |3157 |409404
    It is this tablespace ATMP the one that fills
    The tablespace temporal of the remote database is:
    TABLESPACE_NAME|USED_EXTENTS|USED_BLOCKS|FREE_EXTENTS|FREE_BLOCKS
    HTMP |0 |0 |3157 |409404
    - Why happens this, and howto it is possible to solve?
    - How count the space consume by a select?
    - The select is not good? The intention of the select is to locate erroneous records and to count (dates and times) all the correct records.
    - How is it possible to use another temporary tablespace apart from of default of USER1, ATMP?
    - I have tried to divide also the select by the field MAT, but every select is late a lot of time, of the order of 4 minutes, and there are approximately 3000 MAT different
    - If a solution was to increase ATMP, all that needs?
    Thank you very much for the help,
    Cesar Jorge

    The explain plan is:
    Operation     Object Name     Rows     Bytes     Cost     Object Node     In/Out     PStart     PStop
    SELECT STATEMENT Optimizer Mode=CHOOSE          316037 G          2836986                     
    MERGE JOIN          316037 G     35319894G     2836986                     
    MERGE JOIN OUTER          2916 G     298814G     2834816                     
    MERGE JOIN OUTER          2916 G     274366G     2834814                     
    SORT JOIN          5 M     498 M     1025633                     
    REMOTE          5 M     498 M     10551      DBLINK     SERIAL          
    SORT JOIN          51 M     440 M     1809181                     
    VIEW     USER1.GAP     51 M     440 M     864                     
    MERGE JOIN OUTER          51 M     1G     864                     
    TABLE ACCESS BY INDEX ROWID     USER1.T9 (of view USER1.GAP)     882 K     15 M     826                     
    INDEX FULL SCAN     USER1.IT9 (of view USER1.GAP) 12     882 K          26                     
    SORT JOIN          5 K     51 K     34                     
    INDEX FAST FULL SCAN     USER1.IB9 (of view USER1.GAP)     5 K     51 K     4                     
    SORT JOIN          82      738      3                     
    REMOTE          82      738      1      DBLINK     SERIAL          
    SORT JOIN          10 K     105 K     2170                     
    VIEW     SYS.VW_NSO_1     10 K     105 K     2067                     
    SORT UNIQUE          10 K     105 K     2067                     
    TABLE ACCESS FULL     USER1.T3 (of view USER1.GAC)     10 K     105 K     1964                     
    Regards

  • ORA-01555 with ORA-02063 when submitted Concurrent  Requests

    Hello,
    My development team has reported some CM Requests got failed with some errors.When i checked the request log file i saw :java.sql.SQLException: ORA-01555: snapshot too old: rollback segment number with name "" too small ORA-02063: preceding line from EIHFDM  .Could you please help me out this to solve this issue.
    We are on Oracle Database 10g Release 10.2.0.5.0 - 64bit
    Application 11.5.10
    I have checked the UNDO Parameter values
    ACTUAL UNDO SIZE (MEGS) UNDO RETENTION (Secs)                OPTIMAL UNDO RETENTION (Secs)
                                     304849                               40000                4860
    Thanks,
    Prabhat.

    Hi Asif,
    This is a customized program.
    I have checked the UNDO Parameter values
    SQL> show parameter undo
    NAME                                 TYPE        VALUE
    _in_memory_undo                 boolean     TRUE
    _undo_debug_usage              integer     2
    undo_management                 string      AUTO
    undo_retention                       integer     40000
    undo_tablespace                    string      APPS_UNDOTS
    SQL>
    ACTUAL UNDO SIZE (MEGS) UNDO RETENTION (Secs)                OPTIMAL UNDO RETENTION (Secs)
                                     304849                               40000                4860

  • ORA-01410 when selecting data via ROWID

    hi there,
    after update on 11.2.0.2 we are getting the following error in our application when selecting a record using the comparison via the ROWID:
    select s.rowid , S.VRZNG_ENHT_TITEL from vws_vrzng_enht_haupt_sys s where s.rowid='AAASN0AAFAAACBUAAB';
    -- => ORA-01410 (it doesn't matter which other column additionally to the rowid will be chosen)
    performing the same select but using the * for all data
    select s.rowid , s.* from vws_vrzng_enht_haupt_sys s where s.rowid='AAASN0AAFAAACBUAAB';
    -- => one row will be received.
    that is very strange to me.
    Using the former release 10.2.0.4 everything was fine without receiving such an error.
    Also the dirty workaround with setting the optimizer_features_enable to 10.2.0.4 will work....
    Has anyone faced this error, too? Any help will be higly appreciated.
    thanks Stefan

    Plan causing the ORA-01410:
    | Id  | Operation                    | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT             |                 |     1 |    72 |     1   (0)| 00:00:01 |
    |   1 |  NESTED LOOPS                |                 |     1 |    72 |     1   (0)| 00:00:01 |
    |   2 |   NESTED LOOPS               |                 |     1 |    57 |     1   (0)| 00:00:01 |
    |   3 |    TABLE ACCESS BY USER ROWID| TBS_VRZNG_ENHT  |     1 |    54 |     1   (0)| 00:00:01 |
    |*  4 |    INDEX UNIQUE SCAN         | CPK_GSFT_OBJ    |    22 |    66 |     0   (0)| 00:00:01 |
    |*  5 |   INDEX UNIQUE SCAN          | CUK_GOBH_GO2_ID |    17 |   255 |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       4 - access("G"."GSFT_OBJ_ID"="VRZNG_ENHT_ID")
       5 - access("GOBH"."GSFT_OBJ_2_ID"="G"."GSFT_OBJ_ID")Plan using the DUAL subquery:
    | Id  | Operation                    | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT             |                         |     1 |    39 |     4   (0)| 00:00:01 |
    |   1 |  NESTED LOOPS                |                         |     1 |    39 |     2   (0)| 00:00:01 |
    |   2 |   NESTED LOOPS               |                         |     1 |    18 |     1   (0)| 00:00:01 |
    |*  3 |    TABLE ACCESS BY USER ROWID| TBS_GSFT_OBJ_BZHNG_HRCH |     1 |    15 |     1   (0)| 00:00:01 |
    |   4 |     FAST DUAL                |                         |     1 |       |     2   (0)| 00:00:01 |
    |*  5 |    INDEX UNIQUE SCAN         | CPK_GSFT_OBJ            |     1 |     3 |     0   (0)| 00:00:01 |
    |   6 |   TABLE ACCESS BY INDEX ROWID| TBS_VRZNG_ENHT          |     1 |    21 |     1   (0)| 00:00:01 |
    |*  7 |    INDEX UNIQUE SCAN         | CPK_VRZNG_ENHT          |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       3 - access(CHARTOROWID( (SELECT 'AAASN0AAFAAACBUAAB' FROM "SYS"."DUAL" "DUAL")))
       5 - access("GOBH"."GSFT_OBJ_2_ID"="G"."GSFT_OBJ_ID")
       7 - access("G"."GSFT_OBJ_ID"="VRZNG_ENHT_ID")Have you spotted the difference yourself? One execution plan applies the ROWID to a different table than the other one. You might have hit a bug here, potentially caused by a transformation applied by the optimizer.
    Can you show us the execution plan that worked in 10.2.0.4?
    Would it be possible to share the definition of the view "vws_vrzng_enht_haupt_sys"?
    Hope this helps,
    Randolf

  • Regarding ORA 02063 : preceding line from dblink

    Hi Team,
    I am facing one issue, while using the DBlink for fetching data from different Database in PLSql.
    **********Query***********
    select a.A, b.B
    from ABC a,
    ABC@ XYZ b
    Please suggest and help me in this regards.
    Best Regards
    Manpreet Singh

    810148 wrote:
    Hi Team,
    I am facing one issue, while using the DBlink for fetching data from different Database in PLSql.
    **********Query***********
    select a.A, b.B
    from ABC a,
    ABC@ XYZ b
    Please suggest and help me in this regards.
    Best Regards
    Manpreet Singh
    bcm@bcm-laptop:~$ oerr ora 2063
    02063, 00000, "preceding %s%s from %s%s"
    // *Cause: an Oracle error was received from a remote database link.
    // *Action: refer to the preceding error message(s)You have a mystery & we have no clues.
    How do I ask a question on the forums?
    SQL and PL/SQL FAQ

  • How to avoid ORA-3113 when selecting from XMLTYPE table

    Hi,
    If I register an XML-schema, Oracle automatically creates a table xxxxxx_tab of XMLTYPE. (I use Oracle 9.2.0.1)
    When I do a DESCRIBE or a SELECT from this table I get the error: 'ORA-03113:
    end-of-file on communication channel' and my connection is dropped.
    I opened a TAR for this and Oracle says: 'It is an internal bug so cannot be viewed in metalink. This is fixed in release 10i.' (do they mean oracle DB rel 10i, or a new version of XDK?)
    I saw an example in Oracle Magazine (Jan
    2003) "Make XML Native and Relative" about Oracle 9i Rel 2 and XML. As you can see in codeListing 7, the author also does a select from such a
    table (CD331_tab): Why doesn't he have any problems?
    Is there a workaround for this bug? What's the purpose of being able to automatically upload XML-data to a registered schema if you can't do a select of the data?
    Thank you!

    It appears that the XML Schema is not entirely valid. Specifically, the definition of element "DeviceCategory" has two definitions of element "Audio" appearing within a <choice> model i.e. something like :
    <element name="DeviceCategory">
    <choice>
    <sequence>
    <element name="Audio">
    </sequence>
    <sequence>
    <element name="Audio">
    </sequence>
    </choice>
    This is disallowed by XML Schema spec per. the Unique Particle Attribution Constraint. The general idea is that a XML Schema describes a determinstic content model i.e. schema processor can always unambiguosly determine the matching declaration when it encounters an element. However that's not the case with the declaration above. On encoutering "Audio", it could match either the first or the second declaration of the element. Hence the error.
    You will have to rework the schema to avoid this constraint. One mechanism could be to define complexType and their restrictions.
    - Ravi

  • ORA-01446 when selecting ROWID from View with Union

    I have a View that uses a Union to select from 3 tables. I would like the View to return the ROWID for the record that is returned so that I can update it in my form. The View compiles fine but when I select from the View I get ORA-01446 error.
    Example of my view:
    SELECT ROWID, col_a, col_b, col_c
    FROM tab_a
    UNION ALL
    SELECT ROWID, col_a, col_b, col_c
    FROM tab_b
    UNION ALL
    SELECT ROWID, col_a, col_b, col_c
    FROM tab_c
    I need the ROWID because my tables do not contain UNIQUE/PRIMARY key constraints. In my form I want to update the view with an underlying INSTEAD OF database trigger.
    Any suggestions?

    I think it will work if you give the column an alias (ie a name after the first rowid) and select that instead.
    You will probably also need another column in your view indicating which table the row came from if you want to update it.

  • ORA-00903 when selecting from a view

    Hi,
    I'm migrating our existing database on 8.1.7 to 9.2 and I keep getting an ORA-00903 error (on Oracle 9.2.0.1.0) when I try to select from a view with nested selects. Here's a very simple example - no rows are returned when I issue the query (its a dummy query, but it illustrates the problem). However, as soon as I turn it into a view, and do a select from the view, I get an Invalid Table Name error. Can anyone suggest why this is happening?
    So... This works on its own
    SELECT ID
    FROM (
    SELECT /*+ ORDERED */
    t.id
    FROM tblmsg t,
    tblevent e,
    e_workflowstate s,
    (SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowplntasks ws
    WHERE s.e_taskstatus_id = ws.taskid
    UNION ALL
    SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowmantasks ws
    WHERE s.e_taskstatus_id = ws.taskid
    UNION ALL
    SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowtrgtasks ws
    WHERE s.e_taskstatus_id = ws.taskid) V
    WHERE t.id = e.id
    AND t.id = v.e_taskstatus_id
    AND V.e_taskstatus_id = e.id)
    But this doesn't
    CREATE OR REPLACE VIEW TESTVIEW AS
    SELECT ID
    FROM (
    SELECT /*+ ORDERED */
    t.id
    FROM tblmsg t,
    tblevent e,
    e_workflowstate s,
    (SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowplntasks ws
    WHERE s.e_taskstatus_id = ws.taskid
    UNION ALL
    SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowmantasks ws
    WHERE s.e_taskstatus_id = ws.taskid
    UNION ALL
    SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowtrgtasks ws
    WHERE s.e_taskstatus_id = ws.taskid) V
    WHERE t.id = e.id
    AND t.id = v.e_taskstatus_id
    AND V.e_taskstatus_id = e.id);
    View created
    SELECT * FROM TESTVIEW;
    ERROR at line 1:
    ORA-00903: invalid table name
    This works fine on 8.1.7. I haven't tested it on 9.1 though.
    Any ideas?
    Thanks

    One thing to try would be to use SCHEMA.TABLENAME rather than just TABLENAME to refer to the tables.
    Its just a shot in the dark, but hopefully it may help.
    Martin.

  • ORA-22337 when select geometry within external procedure

    Hi all
    I want to make a C external procedure. This external procedure need to select a set of geometries (MDSYS.SDO_GEOMETRY) from a table in database.
    How can I do that?
    Well, I've tried to use callback functions, but I realized that some important OCI object functions don't work on callbacks (like object pinning).
    So, I've tried to make a new connection from the external procedure. I can do that, but, when I make the object pinning (yes, I did map the SDO_GEOMETRY object to a C struct), I get the error ORA-22337 (the type of accessed object has been evolved)
    How can I handle this?

    Hi Ben,
    The use of the union operator tells Oracle only to return a unique set of rows, hence a sort is done (in this case attempted, since there is no geometry sorting routine).
    If you choose union all, then no sort will be attempted.
    Hope this helps,
    dan

  • ORA-22950 when selecting geometry and using union

    Any query where results are UNIONed where an sdo_geometry is in the selection list (such as the one below) gives me "ORA-22950 cannot ORDER objects without MAP or ORDER method".
    select p.point_id id, p.geom from point p
    union
    select l.line_id id, l.geom from line l
    Perhaps it's possible to define a map or order method for sdo_geometry (or perhaps not), but I don't want to order by geometry.
    I'm running this within SQL Plus (either 8.1.5.0.0 or 8.1.6.0.0 will do it)
    and am connecting to
    "Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.6.0.0 - Production"
    I tried adding an order by clause to order by id, to no effect.
    Any ideas?

    Hi Ben,
    The use of the union operator tells Oracle only to return a unique set of rows, hence a sort is done (in this case attempted, since there is no geometry sorting routine).
    If you choose union all, then no sort will be attempted.
    Hope this helps,
    dan

  • Delete or Select over dblink hangs

    Hi,
    DB version 10.2.0.4
    OS=Solaris 10
    Today we have issue when we try to do any DML between the two server(via db link) and the query Hangs.
    We have NFS issue where our oracle user directory exist.
    HOME=/home/oracle/ -- Oracle User not able login because of NFS issue
    ORACLE_HOME=/u01/app/oracle/product/10.2.0/db/
    Kindly confirm is this problem related to NFS or Oracle issue.
    Regards
    NM

    Hi,
    I am not able to login to the BOX.I tired creating DB link from Test Server and connecting to Issue server and it works fine.But when i tired between the prod server this problem exist.
    Currently we have NFS issue where our user's home directories exist.
    My Question is
    When we tried to connect to other DB does it uses the USER directory.
    Another example
    We have another DB where both schema present in same DB and we connect to another schema via DB link and even this hangs.
    Regards
    NM

  • ORA-02063: preceding line from view from dblink

    Hi,
    Iam creating a standared report.using a query from a view.
    view is built on a select query which retrives data from a view through a dblink. view exists in another schema.
    report error:
    ORA-01858: a non-numeric character was found where a numeric was expected
    ORA-02063: preceding line from <<DBLink Name>>
    when i run the query from sql workshop it executed perfectly.
    any one has any suggestions??
    Thanks

    Always include the following information when asking a question:
    <ul>
    <li>Full APEX version</li>
    <li>Full DB/version/edition/host OS</li>
    <li>Web server architecture (EPG, OHS or APEX listener/host OS)</li>
    <li>Browser(s) and version(s) used</li>
    <li>Theme</li>
    <li>Template(s)</li>
    <li>Region/item type(s)</li>
    </ul>

  • ORA-02291 - ORA-02063 on merge with dml error logging through DB link

    Hello all,
    I have 2 DB's and I would like to merge records from A into B with dml error logging through a db link.
    Exemple:
    merge into B@dblink
    using (select ... from A where...)
    when matched then
    when not matched then
    log errors into err$_A reject limit unlimited;
    When I use this, and exception is thrown:
    ORA-02291: integrity constraint (B.constraint_name) violated - parent key not found
    ORA-02063: preceding line from dblink
    I've got no idea of what causes this.
    Could anyone please help me ?
    Thanks !
    Regards,
    TDE.

    Hello damorgan,
    Thanks for your answer.
    I've well understood that its was a foreign key violation, and I guess that's an error in the source: wee make only logical deletes, and I'm quite sure the problem is there.
    Anyway, I really would understand why dml error logging doesn't work in this case.
    I'll investigate and keep you informed.
    Regards.

  • ORA-24777 when trying to call multiple Oracle SPs...

    I had a SP in Oracle that called another SP in a SQL Server DB via DBLink. I was calling the Oracle SP from VB.NET (3.5) and because of transaction commiting I was not able to do this, so I removed the SQL SERVER SP call from inside the Oracle SP. However, I still get a ORA-24777 error: use of non-migratable database link not allowed.
    If I removed the reference to the other DB, why would I still get an error referencing the DBLINK?
    I'm using Oracle 10.2 and VB.NET (3.5).
    old SP CODE:
    I have a package called USP_VALIDATION
    In the package body, I was calling BATCH(Queue, RefNo) [a procedure in USP_VALIDATION]
    In this BATCH procedure, I would call SP_GET_BILLING_OPTION_TCIS(accNo, lclBillingOption) [note TCIS is the SQL DB and lclBillingOption would be the TCIS billing option]
    ... do something with lclBillingOption
    I changed this to the following:
    In the package body, I now call BATCH(Queue, RefNo, BillingOption)
    In this new BATCH procedured, I now DON'T call SP_GET_BILLING_OPTION_TCIS as I already retrieved it first before I call USP_VALIDATION in the .NET code
    ... do something with the BillingOption passed in as a parameter when calling BATCH.
    What I'm really trying to do is make sure that the transaction commitment/rollback is handled correctly in the following senario.
    What happened before was because the one SP was calling another SQL database via DBLINK, it was not working correctly. So we removed the DBLINK and now call the SQL database before we do any action with the Oracle SPs.
    Here is my code in .NET:
    Public Function EnrollElectricCustomer(ByVal EnrollParameters As IEnrollmentParameters) As IEnrolleSearch Implements Interfaces.IEnrollmentManager.EnrollElectricCustomer
            Dim dacRCES As New Dac.RC.EnrolleeDataService()
            Dim dacRCAS As New Dac.RC.AccountDataService()
            Dim oServiceType As IServiceType = New ServiceType(ServiceTypeEnum.Gas)
            Dim dacCSS As New Dac.Css.CssCustomerAccount
            Dim oBillingOption As IBillingOption = Nothing
            Dim business As New AccountManager
            Dim WorkQID As Long = 0
            Dim enrolleeSearch As EnrolleeSearch = Nothing
            Dim MainTranScope As TransactionScope = New TransactionScope(TransactionScopeOption.RequiresNew)
            Try
                EventLog.WriteEntry("RCIS", "Access --> EnrollElectricCustomer")
                ' comment - here I go to SQL Server to get the Billing Option instead of doing it thru DBLINK
                oBillingOption = dacRCAS.GetCurrentBillingOption(EnrollParameters.CssAccountNumber, oServiceType)
                Using MainTranScope
                    'first save the Enrollment record to the Enroll Queue
                    WorkQID = dacRCES.SaveElectricEnrollee(EnrollParameters)
                    'need to put account number needed into a collection
                    Dim oColAccounts As New Generic.List(Of IAccountRefreshRequests)
                    Dim oColCSSAccounts As New Generic.List(Of ICustomerAccount)
                    Dim oAccount As New AccountRefreshRequests
                    Dim oCustomerAccount As ICustomerAccount
                    Dim refreshstring As String = String.Empty
                    oAccount.CSSAccountNumber = EnrollParameters.CssAccountNumber
                    oAccount.CSSAccountNumberNoCheckDigit = EnrollParameters.CssAccountNumber.Substring(0, 14)
                    oAccount.CSSCheckDigit = EnrollParameters.CssAccountNumber.Substring(14, 1)
                    oAccount.ServiceType.CodeString = "E"
                    Dim rStatus As New RefreshStatus
                    rStatus.Code = StatusEnum.NewAccount
                    oAccount.Status.CodeString = rStatus.CodeString()
                    oColAccounts.Add(oAccount)
                    'call CSS passing in collection of account(s) and returning back collection of account(s)
                    oColCSSAccounts = dacCSS.GetCssAccountInfo(oColAccounts)
                    oCustomerAccount = New CustomerAccount
                    oCustomerAccount = oColCSSAccounts.Item(0)
                    refreshstring = business.BuildRefreshString(oCustomerAccount)
                    dacRCES.RefreshElectricAccount(refreshstring)
                    'once refreshed, we need to also run VALIDATION on this enrollent record...
    *' NOTE THAT THIS SP used to CALL SQL via DBLINK but no longer does....*               
                    dacRCES.ValidateElectricEnrollment(WorkQID,oBillingOption)
                    'once validated, we also have to submit the record....
                    dacRCES.SubmitElectricEnrollment(WorkQID)
                    MainTranScope.Complete()
                End Using
                If WorkQID > 0 Then
                    'now we need to retrieve the account enrollment record...
                    enrolleeSearch = dacRCES.FindEnrolleeByEnrollID(WorkQID, ServiceTypeEnum.Electric)
                End If
            Catch ex As Exception
                SendEmail.SendErrorEmail("EnrollElectricCustomer --> " & EnrollParameters.CssAccountNumber, ex.Message)
                RcCommon.WriteExceptionToLog(ex)
                Throw
            End Try
            Return enrolleeSearch
        End FunctionI'm concerned that if any one of the various calls fails, I want to rollback the ENTIRE transaction. Right now I
    a) insert the row into a table in Oracle,
    b) get detailed information on this account from another database (DB2),
    c) refresh the data in the Oracle DB on this account,
    d) validate the record added (business rules) and then when all done,
    e) to submit the account (which changes statuses for later use).
    If I insert the record but it fails at step d say, I want to rollback everything and remove the record from the Oracle table...
    Edited by: userLynx on Oct 17, 2012 6:37 AM

    EDIT1:
    You posted an edit including code while I was typing original response.
    You may find the following My Oracle Support note helpful. It applies to ODP.NET as well.
    ORA-24777 When Selecting Across a Database Link With Microsoft OLE DB Provider for Oracle [ID 397555.1]
    Just to confirm - is the database link used at all now?
    I know you said that the stored procedure is no longer called, but is the link still used for anything else?
    Also, do you have a call stack from when the exception is raised?
    Edited by: Mark Williams on Oct 17, 2012 9:53 AM

  • ORA-01017: invalid username/password through dblink when select from view

    Hello all,
    I work on 2 databases :
    - One is a 10g (let's call it db_10 )
    - The second one is a 11g (let's call it db_11 )
    I created a view V_PROTOCOLES in schema SCHEMA_1 on db_11.
    The FROM clause of this view call 4 tables :
    - table1 : owner is SCHEMA_1
    - table2 : owner is SCHEMA_2 (schema on db_11 )
    - table3 : owner is SCHEMA_3 (schema on db_10 )
    - table4 : owner is SCHEMA_4 (schema on db_10 )
    When I simply run SELECT * FROM V_PROTOCOLES on db11 with user X, I can have a result.
    The problem occurs when I connect on db10 also with user X. The V_PROTOCOLES view has a public synonym using the dblink DBDOC_LINK (without explicitly specify a user, so it connects with the X user).
    But here I can't run the SELECT * FROM V_PROTOCOLES. I Have the following error :
    ORA-01017: invalid username/password; logon denied
    ORA-02063: preceding line from DBDOC_LINKThe passwords for user X are obviously the same on both 10g and 11g databases.
    Thanks for the help !

    On 10g :
    select password from dba_users where username = 'U872574';
    PASSWORD
    30811840BC618B77On 11g :
    select password from sys.user$ where name='U872574';
    PASSWORD
    30811840BC618B77I dropped and recreated the dblink but the problem always occurs...
    (By the way, curiously when I dropped the dblink I have no invalid objects although it is used in different packages or triggers)

Maybe you are looking for

  • Hardrive from 12" to 17"?

    I've got a 12" g4 powerbook. I just got a 17" from a pawn shop for $400, are you able to switch the hard drives between the two? if you can, it'd be much appreciated for links for doing it. thanks for any help.

  • How to make instruments persistent...

    Hi Forte Experts I keep setting the KeepAliveCycle parameter on my server, and it seems to disappear every now and then (at reboot?) So what is the correct procedure to set and keep this parameter alive... Do I have to modify the startup scripts to s

  • Source list Vendor fixed!

    Hi All, I have maintained a source list for a material with a contract in the source list and the vendor fixed. I have also maintained it as MRP relevant (by having MRP indivcator as 1). The Source list check box in the material master is checked. No

  • Boot freeze w/2.6 kernel

    Just a FYI.. I tried installing the 2.6 IDE kernel on my Compaq Presario 2105US laptop and, on boot, it would freeze at using anticipatory io scheduler I tried with the 2.4 kernel and that worked though, so I don't know what the problem is. Hopefully

  • Campign Automation issue

    I have created a campign and trying to turn on the automation process by clicking the button. The process is launching a browser and a Java applet runs for few moments then the system hangs up. I just see Campaign Automation label on the top. I am wo