Solved

sql server error 515,7215 ora error -02089,02291

Posted on 2010-09-01
7
1,113 Views
Last Modified: 2013-12-12
unable to update table using procedure on sql server side.
0
Comment
Question by:Smruti1
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
7 Comments
 

Author Comment

by:Smruti1
ID: 33579553
Our configuration Updates table on SQL server while pulling data from Oracle. It used to work before but it stopped  accessing data from oracle and updates tables in SQL Server.
0
 
LVL 35

Expert Comment

by:johnsone
ID: 33579755
ORA-02291 is a constraint violation.  It would most likely mean you have a child with no parent.  The full text of the error message should give you more information.
0
 

Author Comment

by:Smruti1
ID: 33580044
Thanks johnsone.

Here is the full text message--

Oracle error 'ORA-02291: integrity constraint (DM.FK_ADDR_2_ADDR_GRP) violated - parent key not found ' [ ORA-06512: at "COM.COM_OFFICE_PKG", line 365 ORA-06512: at "COM.COM_OFFICE_PKG", line 322  ]{ ----- PL/SQL Call Stack -----   object      line  object   handle    number  name 0x1eea5d520       332  package body COM.COM_OFFICE_PKG 0x1f25988a0         1  anonymous block } , SQL Message = 'Could not execute statement on remote server 'DMLINK'.'
0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 
LVL 35

Expert Comment

by:johnsone
ID: 33580437
Based solely on the constraint names, my guess is that you have an ADDRESS table and an ADDRESS_GROUP table.  You are missing the group record for the address.  That is what the message is telling you.

This would tell you the constraint that the table is on:

select owner, table_name from dba_constraints where constraint_name = 'FK_ADDR_2_ADDR_GRP' and owner = 'DM';

This would tell you the table that is referenced:

select owner, table_name from dba_constraints where (owner, constraint_name) = select r_owner, r_constraint_name from dba_constraints where constraint_name = 'FK_ADDR_2_ADDR_GRP' and owner = 'DM');

Once you fix the constraint violation, which I suspect is with the address group table, your procedure should run correctly.
0
 

Author Comment

by:Smruti1
ID: 33601762
Thanks to all, I will check it after long weekend and let you all know.
0
 

Accepted Solution

by:
Smruti1 earned 0 total points
ID: 33643263
Thanks to all,
we found that there was some data provider issue --> we need to use microsoft provider instead of oracle provider so changing provider resolved this issue.
Thanks to every body for help.
0

Featured Post

Edgartown IT Case Study

Learn about Edgartown's quest to ensure the safety and security of the entire town's employee and citizen data. Read the case study!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Linked Server - SP with Param to VIew 7 29
Applying Roles in Common Scenarios 3 43
Shared Service Environment 2 54
Automate an Oracle update in Excel 7 70
Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question