Oracle cannot validate the composite foreign key when NULLs comes into play

Hi all

When a composite foreign key is used in a schema. Oracle does not check the necessary rules correctly, as indicated below.

create the table parent_tab
(
x int,
int y,
z int,
primary key for constraint p_key (x, y)
);

create the table child_tab
(
x int,
int y,
z int,
Constraint f_key foreign key (x, y) refers to parent_tab (x, y)
);

insert into child_tab (x, y, z) values (1, NULL, 4);
commit;

Select count(x|| y) from parent_tab;

0


Select count(x|| y) from child_tab;

1

Tom Kyte says the following for an explanation.

The database is unable to validate a foreign key when it is partially null. To assert the rule MATCH FULL for composite foreign keys, you add a constraint to your table:

The constraint will ensure that either

  • All columns have NULL value in the foreign key, or
  • None of the columns are set to NULL in the foreign key

As long as this constraint is in place, your foreign key will work as you probably think that it should.

However, it does not explain WHY? I mean why Oracle is unable to validate the foreign key when it is partially NULL?

Concerning

John Spencer wrote:

He thinks logically.  You have a composite PK of two columns, so 1, 1 is a valid key, as these are the 1, 2 and 1, 3 and 1.42.  In the child table, you have a line 1, the null value.

What parent should have the child?

I wish that it would be logical about this. Unfortunately, Oracle applies different rules in different cases. For example, parent of the value 1, NULL value and 1 child, NULL is not the same as NULL is equal or not equal to null. At the same time, one constraint unique index / unique Treaty, 1, NULL, equal to another 1, NULL NULL treatment as being equal to NULL and don't let several lines with 1, the NULL value.

SY.

Tags: Database

Similar Questions

  • I cannot access the application "contact me" when a website, get error "Default Mail Client not properly installed."

    I cannot access the application 'contact me' when a web site and receive the answer "Default Mail Client not properly installed" instead of going on the requested site.

    How can I fix this problem?

    Separated from the:

    http://answers.Microsoft.com/en-us/IE/Forum/IE8-windows_other/IE8-default-mail-client-not-properly-installed/23c2a9e1-d1fa-4a50-aeb1-90a6f2af717f

    CrystalBall © SEZ...

    Unlike Windows XP & Vista, Windows 7 does not include a default email Client. [What were thinking?]

    You will need to install a (e.g. MS Outlook;) Windows Live Mail; Thunderbird) , and then set it as a default for mail in CUSTOM (<>) article in Set Program Access and defaults of the computer , then restart your computer before any function send to or MailTo will become available.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    In these forums, you will find support for Windows Live Mail: http://windowslivehelp.com/forums.aspx?productid=15

  • "I bought a new laptop which has a 60 day trial of microsoft office on this subject, I also bought a copy of ' microsoft office and Student 2007 ' however it displays the incorrect product key when I type in the product key on the box of cdrom.

    "I bought a new laptop which has a 60 day trial of microsoft office on this subject, I also bought a copy of ' microsoft office and Student 2007 ' however it displays the incorrect product key when I type in the product key on the box of cdrom.

    Uninstall the trial version, and then install the CD-ROM version.

  • Windows Vista IE9 is is it inserted a way I can set up the so function keys when I click my e-mail address?

    Windows Vista IE9 is is it inserted a way I can set up the so function keys when I click my e-mail address?  THANKS in advance

    See my response here

    http://answers.Microsoft.com/en-us/Windows/Forum/windows_vista-desktop/macro-recording-in-Vista/ef061942-8665-4d27-9222-dcd761936386

  • How to get the new activation key when some numbers are taken away and you have received?

    How to get the new activation key when some numbers are taken away and you have received?

    Have a laptop with windows 7 from Dell. Need to re install W7. And I have some numbers are taken as a result of its use.
    How can I get a new code activation or my complete activation code?
    Best regards, W7 user

    How to get the new activation key when some numbers are taken away and you have received?


    Have a laptop with windows 7 from Dell. Need to re install W7. And I have some numbers are taken as a result of its use.
    How can I get a new code activation or my complete activation code?

    Dell provided you with restore/recovery media and/or a way to restore the machine 'default' as a key sequence?  If so - you won't need the number--unless they just sent a DVD of Windows 7 nu - and they are usually not unless you ask.

    They have probably installed using their key, which means that even with a utility like Belarc Advisor or ProduKey - you will not get the product key that matches the one on the sticker.

    Some may have you take several different digital pictures of the sticker from different angles and see if you can decipher the missing characters like that (you'd be surprised to see how that works).

  • Cannot save the Composite SOA on IOM

    Hi all

    I run "Ant f registerworkflows - mp.xml register" to save my composite SOA in OIM 11 g R2 PS3.

    I get the parameters like this:

    [entry] Enter the user name

    xelsysadm

    [pwd-entry] Enter the password

    XXXXXXXXXX

    [entry] Indicate the managed IOM server URL (Ex: t3: / / oim_host:oim_port for corbaloc:iiop:oim_host:oim_bootstrap_port for websphere and weblogic)

    T3://xx.xxx. XX. XX:14000

    [entry] Entrance to the field of the workflow

    by default

    [entry] Enter the name of the workflow

    ApprovalProject

    [entry] The version of the workflow of entry

    1.0

    [entry] Enter the name of the workflow service

    RequestApprovalService

    [entry] Enter the human tasks in the workflow (multiple human tasks should be separated by a colon (:))

    ApprovalTask

    But an error occurs:

    [java] Exception in thread "main" oracle.iam.platform.workflowservice.exception.IAMWorkflowException: there is no valid definition with the name of definition by default/ApprovalProject! 1.0

    [java] at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)

    [java] at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)

    [java] at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)

    [java] at oracle.iam.platformservice.api.WorkflowRegistrationServiceEJB_f4otyb_WorkflowRegistrationServiceRemoteImpl_1036_WLStub.registerWorkFlowDefinitionx (unknown Source)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [java] at java.lang.reflect.Method.invoke(Method.java:606)

    [java] at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)

    [java] at com.sun.proxy. $Proxy2.registerWorkFlowDefinitionx (unknown Source)

    [java] at oracle.iam.platformservice.api.WorkflowRegistrationServiceDelegate.registerWorkFlowDefinition (unknown Source)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [java] at java.lang.reflect.Method.invoke(Method.java:606)

    [java] at Thor.API.Base.SecurityInvocationHandler$ 1.run(SecurityInvocationHandler.java:68)

    [java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

    [java] at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

    [java] at weblogic.security.Security.runAs(Security.java:41)

    [java] at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs (weblogicLoginSession.java:52)

    [java] at Thor.API.Base.SecurityInvocationHandler.invoke (SecurityInvocationHandler.java:79)

    [java] at com.sun.proxy. $Proxy3.registerWorkFlowDefinition (unknown Source)

    [java] at oracle.iam.platformservice.workflowregclient.WorkflowRegistration.main(WorkflowRegistration.java:42)

    [java] Caused by: oracle.iam.platform.workflowservice.exception.IAMWorkflowException: there is no valid definition with the name of definition by default/ApprovalProject! 1.0

    [java] at oracle.iam.platform.workflowservice.impl.WorkflowRepositoryImpl.registerWFDefinitionNoMapping(WorkflowRepositoryImpl.java:259)

    [java] at oracle.iam.platform.workflowservice.impl.WorkflowRepositoryImpl.registerWorkFlowDefinition(WorkflowRepositoryImpl.java:186)

    [java] at oracle.iam.platform.workflowservice.impl.WorkflowServiceImpl.registerWorkFlowDefinition(WorkflowServiceImpl.java:293)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [java] at java.lang.reflect.Method.invoke(Method.java:606)

    [java] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)

    [java] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)

    [java] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

    [java] at oracle.iam.platform.utils.DMSMethodInterceptor.invoke(DMSMethodInterceptor.java:35)

    [java] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

    [java] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

    [java] at com.sun.proxy. $Proxy625.registerWorkFlowDefinition (unknown Source)

    [java] at oracle.iam.platformservice.impl.WorkflowRegistrationServiceImpl.registerWorkFlowDefinition(WorkflowRegistrationServiceImpl.java:38)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [java] at java.lang.reflect.Method.invoke(Method.java:606)

    [java] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)

    [java] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)

    [java] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

    [java] at oracle.iam.platform.utils.DMSMethodInterceptor.invoke(DMSMethodInterceptor.java:35)

    [java] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

    [java] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

    [java] at com.sun.proxy. $Proxy695.registerWorkFlowDefinition (unknown Source)

    [java] at oracle.iam.platformservice.api.WorkflowRegistrationServiceEJB.registerWorkFlowDefinitionx (unknown Source)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)

    [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [java] at java.lang.reflect.Method.invoke(Method.java:606)

    [java] at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)

    [java] at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)

    [java] at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

    [java] at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)

    [java] at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)

    [java] at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

    [java] at com.oracle.pitchfork.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:34)

    [java] at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)

    [java] at com.oracle.pitchfork.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:42)

    [java] at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

    [java] at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)

    [java] at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

    [java] at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)

    [java] at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)

    [java] at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

    [java] at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

    [java] at com.sun.proxy. $Proxy694.registerWorkFlowDefinitionx (unknown Source)

    [java] at oracle.iam.platformservice.api.WorkflowRegistrationServiceEJB_f4otyb_WorkflowRegistrationServiceRemoteImpl.__WL_invoke (unknown Source)

    [java] at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)

    [java] at oracle.iam.platformservice.api.WorkflowRegistrationServiceEJB_f4otyb_WorkflowRegistrationServiceRemoteImpl.registerWorkFlowDefinitionx (unknown Source)

    [java] at oracle.iam.platformservice.api.WorkflowRegistrationServiceEJB_f4otyb_WorkflowRegistrationServiceRemoteImpl_WLSkel.invoke (unknown Source)

    [java] at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)

    [java] at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)

    [java] at weblogic.rmi.internal.BasicServerRef$ 1.run(BasicServerRef.java:522)

    [java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

    [java] at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

    [java] at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)

    [java] at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)

    [java] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)

    [java] at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

    [java] Caused by: oracle.iam.platform.workflowservice.exception.IAMWorkflowException: error while updating the view for composite by default/ApprovalProject! 1.0.

    [java] at oracle.iam.platform.workflowservice.impl.TaskViewUtil.updateViewDetails(TaskViewUtil.java:287)

    [java] at oracle.iam.platform.workflowservice.impl.WorkflowRepositoryImpl.registerWFDefinitionNoMapping(WorkflowRepositoryImpl.java:254)

    [java]... more than 60

    [java] Caused by: oracle.iam.platform.workflowservice.exception.IAMWorkflowException: error occurred while updating the composite human task for null uri information.

    [java] at oracle.iam.platform.workflowservice.impl.TaskViewUtil.getHumanTaskNameSpaceListByCompositeDN(TaskViewUtil.java:469)

    [java] at oracle.iam.platform.workflowservice.impl.TaskViewUtil.updateViewDetails(TaskViewUtil.java:193)

    [java]... more than 61

    [java] Caused by: ORABPEL-30084

    [java]

    [java] Unable to locate composite.

    [java] Unable to locate composite for workflow component default/CertificationProcess!2.0/CertificationTask.

    [java] Ensure that composite has been deployed successfully, and that the SOA composite loading a server.

    [java]

    [java] at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)

    [java] at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)

    [java] at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)

    [java] at oracle.bpel.services.workflow.metadata.ejb.TaskMetadataServiceBean_kykm8_EOImpl_1036_WLStub.getTaskDefinitionById (unknown Source)

    [java] at oracle.bpel.services.workflow.metadata.client.TaskMetadataServiceRemoteClient.getTaskDefinitionById(TaskMetadataServiceRemoteClient.java:44)

    [java] at oracle.bpel.services.workflow.metadata.client.TaskMetadataServiceRemoteClient.getTaskDefinitionById(TaskMetadataServiceRemoteClient.java:66)

    [java] at sun.reflect.GeneratedMethodAccessor4536.invoke (unknown Source)

    [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    [java] at java.lang.reflect.Method.invoke(Method.java:606)

    [java] at oracle.bpel.services.workflow.client.WFClientRetryInvocationHandler.invokeTarget(WFClientRetryInvocationHandler.java:144)

    [java] at oracle.bpel.services.workflow.client.WFClientRetryInvocationHandler.invoke(WFClientRetryInvocationHandler.java:82)

    [java] at com.sun.proxy. $Proxy698.getTaskDefinitionById (unknown Source)

    [java] at oracle.iam.platform.workflowservice.impl.TaskViewUtil.getHumanTaskNameSpaceListByCompositeDN(TaskViewUtil.java:462)

    [java]... more than 62

    BUILD FAILED

    /U01/IDM/OIM/product/Oracle_IDM1/Server/workflows/registration/registerworkflows-MP.XML:59: the following error occurred during the execution of this line:

    /U01/IDM/OIM/product/Oracle_IDM1/Server/workflows/registration/registerworkflows-MP.XML:63: Java returned: 1

    You have an idea about this problem?

    Thank you.

    Best regards.

    As much as I know, registry operations is unnecessary in the PS3. It was only held in the older versions of IOM (PS1 until I think). You are after all SOA PS3 document and found this step?

    PS3 as follows:

    Set JAVA_HOME to /app/jdk1.6.0_27

    export JAVA_HOME=/app/jdk1.6.0_27/

    Set the ANT_HOME Middleware Home/modules/org.apache.ant_1.7.1 environment variable

    export ANT_HOME=/app/Middleware/modules/org.apache.ant_1.7.1

    The value of the PATH environment variable for $JAVA_HOME/bin: $ANT_HOME/bin: $PATH

    export PATH = $JAVA_HOME/bin: $ANT_HOME/bin: $PATH

    Go to the IOM HOME/flow/new_workflow

    CD/app/Middleware/Oracle_IDM1/server/workflows/new-workflow

    Run the ant - f new_project.xml comment

  • I bought Photoshop element 14 this morning, get the serial number Adobe e-mail and downloaded the software, but... Adobe is always telling me that they cannot validate the software. What should I do now?

    I bought Photoshop element 14 this morning, get the serial number Adobe e-mail and downloaded the software, but... Adobe is always telling me that they cannot validate the software. What should I do now?

    Please see the links below.

    Hope this will help you.

    Kind regards

    Hervé Khare

  • will be the foreign key allows Null values?

    Hello gurus!


    will be the foreign key allows Null values?


    Thanks in advance!

    Yes

    You can try example below

    create table table_1(id number primary key)
    insert into table_1 values (1);
    create table table_2 (id number references table_1(id),name varchar2(10))
    insert into table_2 values (null,'test')
    commit;
    
  • Error: "Windows Media Player cannot find the file. If you are trying to play, burn, or synchronize, an item that is in your library, the element can point to a file that has been moved, renamed or deleted'

    Original title: I'm trying to burn a CD and a message keeps coming up saying that Windows Media Player cannot find the file.

    I have Windows XP. I am trying to burn a CD and a message keeps coming up saying: "Windows Media Player cannot find the file.  If you are trying to play, burn, or synchronize, an elements that is in your library, the element can point to a file that has been moved, renaed, or deleted.  I clicked on opations, checked all the network boxes and everything that has been proposed. "My error code is C00D001A.  System cannot find the file specified should I upgrade or find another version of the Windows Media or what.  It's very annoying.  Thanks in advance.

    Hi reginawilson,
     
    Here are some articles that you might find useful:
     
  • Received the 0xC00D0FEA error code when you try to play mp3 file of hotmail message.

    I received a 5.6 mb audio recording of my brother's gmail account, and I got the 0xC00D0FEA error code when I tried to play in WMP12.

    My OS is Windows 7 Professional.

    I also tried to download the file, but do not have the option to save it in a media file. Help, please.

    Thank you

    Hello

    1. are you able to play other files on the computer using Windows Media Player?

    2. are you using Internet Explorer? If Yes, what version of IE are you using? Find out what version of Internet Explorer you are using

    http://Windows.Microsoft.com/en-us/Windows7/find-out-which-version-of-Internet-Explorer-youre-using

    You can save the file to the desktop and then right click and select play with Windows Media Player a check if it works.

    Check this C00D0FEA

    Answer with the information required for you help in this matter.

  • Cannot validate the certificate pop when opening outlook.

    Hello, I am running Windows Vista with outlook 2007.  Everytime I open outlook lately, I get the following message.

    "Same description DV.

    [CODE] Certificate revocation status
    Calling application: Microsoft Outlook
    Certificate name: / C = US / ST = Washington/L = Redmond/O = Microsoft Corporation/CN = Microsoft Corporation
    The issuer of the certificate: / C = US / ST = Washington/L = Redmond/O = Microsoft Corporation/OR = Copyright (c) 2000 Microsoft Corp. / CN = Microsoft Code signing PCA
    Serial number of the certificate: 61469ECB000400000065
    Revocation status: Impossible to verify
    Validation Protocol: CRL
    Validation Url: http://crl.microsoft.com/pki/crl/products/CodeSignPCA2.crl
    Still invalid revocation information [/ code]

    My boss is getting annoyed by the latter to appear every time and wants to find a way to make disappear. I can't uninstall the program as its share of the PKI, but is there a way to remove the certicate that has problems?

    Sound appear under the "tumbleweed desktop validator" pop up. He says: "unable to validate the certificate.  When I click on it I see below

    Hi stevenyuko,


     

    Thank you for visiting the website of Microsoft Windows Vista Community. The question you have posted is related to Microsoft office Outlook application and would be better suited to the community of Microsoft office application.

    Please visit the link below to find a community that will support what ask you:

    Discussions in Desktop Applications

     

     http://www.Microsoft.com/Office/Community/en-us/FlyoutOverview.mspx

    Hope this information is useful.

    Let me know if it worked.

    All the best!

    Thank you, and in what concerns:

    Halima S - Microsoft technical support.

    Visit our Microsoft answers feedback Forum and let us know what you think.

  • ODI is not able to detect the primary/foreign keys to XML - the user has no privilege or object not found

    Hi guys,.

    Im trying to load an XML with the address of two entities and employee as below. The topology of reverse engineering, everything works well. Even able to display the xml data in ODI, but when I try to load the data of these two entities join by the schema of the primary keys and foreign keys which created odi engineering process reverses for xml, im im getting the error below.  IM able to load an entity data, error occurs only when I use the join odi creates internally to identify employees for xml and address components

    XML file:

    <? XML version = "1.0" encoding = "UTF-8"? >

    < EMP >

    < Empsch >

    < employee >

    < EmployeeID 12345 > < / EmployeeID >

    < original > t < / initials >

    John < name > < / LastName >

    DOE < FirstName > < / name >

    < / employee >

    < address >

    < > 12345 as WorkPhone < / as WorkPhone >

    < WorkAddress > test 234 < / WorkAddress >

    < / address >

    < / Empsch >

    < / EMP >

    Topology: jdbc:snps:xml?f=C:/Temp/RR/Empsch.xml & s = Empsch & re = EMP & dod = true & nobu = false

    Error message:

    -5501: 42501: java.sql.SQLException: user has no privilege or object not found: EMPSCH. EMPSCHPK

    java.sql.SQLException: user has no privilege or object not found: EMPSCH. EMPSCHPK

    at org.hsqldb.jdbc.Util.sqlException (unknown Source)

    for org.hsqldb.jdbc.JDBCPreparedStatement. < init >(Unknown Source)

    at org.hsqldb.jdbc.JDBCConnection.prepareStatement (unknown Source)

    at com.sunopsis.jdbc.driver.xml.SnpsXmlConnection.prepareStatement(SnpsXmlConnection.java:1232)

    at sun.reflect.GeneratedMethodAccessor65.invoke (unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    to oracle.odi.core.datasource.dwgobject.support.OnConnectOnDisconnectDataSourceAdapter$ OnDisconnectCommandExecutionHandler.invoke (OnConnectOnDisconnectDataSourceAdapter.java:200)

    to $Proxy2.prepareStatement (Unknown Source)

    at oracle.odi.runtime.agent.execution.sql.SQLCommand.doInitializeStatement(SQLCommand.java:83)

    at oracle.odi.runtime.agent.execution.sql.SQLCommand.getStatement(SQLCommand.java:117)

    at oracle.odi.runtime.agent.execution.sql.SQLCommand.getStatement(SQLCommand.java:111)

    at oracle.odi.runtime.agent.execution.sql.SQLDataProvider.readData(SQLDataProvider.java:81)

    at oracle.odi.runtime.agent.execution.sql.SQLDataProvider.readData(SQLDataProvider.java:1)

    at oracle.odi.runtime.agent.execution.DataMovementTaskExecutionHandler.handleTask(DataMovementTaskExecutionHandler.java:70)

    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)

    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)

    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)

    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)

    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)

    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$ 2.doAction(StartSessRequestProcessor.java:366)

    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)

    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)

    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$ 0 (StartSessRequestProcessor.java:292)

    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$ StartSessTask.doExecute (StartSessRequestProcessor.java:855)

    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)

    to oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$ 2.run(DefaultAgentTaskExecutor.java:82)

    at java.lang.Thread.run(Thread.java:662)

    Caused by: org.hsqldb.HsqlException: the user has no privilege or object not found: EMPSCH. EMPSCHPK

    at org.hsqldb.error.Error.error (unknown Source)

    at org.hsqldb.ExpressionColumn.checkColumnsResolved (unknown Source)

    at org.hsqldb.QueryExpression.resolve (unknown Source)

    at org.hsqldb.ParserDQL.compileCursorSpecification (unknown Source)

    at org.hsqldb.ParserCommand.compilePart (unknown Source)

    at org.hsqldb.ParserCommand.compileStatement (unknown Source)

    at org.hsqldb.Session.compileStatement (unknown Source)

    at org.hsqldb.StatementManager.compile (unknown Source)

    at org.hsqldb.Session.execute (unknown Source)

    ... more than 27

    Please advice

    Thank you

    Fabien

    It is clear from the content of the xml file, you have given here. In this xml file, you have four type of complex. Two of them are employed and address. However the employee doesnot has nothing to do with the address that you have not added the relationship. That is why its failure. This isn't the fault of the ODI.

    Also I suggest not to use self-generated by ODI dtd that you might face problem in the future. For example, the address of XML type has 8 attributes, and 4 of them are not mandatory. This means that each of your xml file may have attributes between 4 and 8.  That's where ODI auto generated DTD fails.

    ComplexType element XML schema

    Thank you

    Chantal

  • By specifying the Composite primary key (columns 4 and 5)

    Hi all

    I am new to Oracle Apex,

    I have a few paintings with a composite primary key (4 or 5 columns)... When I try to create a primary key constraint, it gives me only 3 columns!

    Any help please in how can I solve this problem?

    Thanks in advance

    You are probably using the workshop for this sql Object Explorer

    which seems to be limited to 4 columns on APEX 4.2.3

    best thing to do is to create manually using the sql commands in sql workshop, here's an example:

    {code}

    CREATE UNIQUE INDEX myui ON JC_ACCOUNT

    (TITLE_ID, FAMILY_NAME GIVEN_NAME, GENDER_ID, TELEPHONE_NUMBER)

    /

    {code}

    I hope this helps you

    KR

    Martin

  • Return to win 10 to Win 7 - cannot use the special function keys

    Hello!
    I updated to windows 10 two weeks ago and since then I had to restore to factory settings.
    I didn't know that it would remove Toshiba programs, but there.
    I cannot now use special function keys but I want them back.
    What makes Toshiba program and what other programs Toshiba should I re - install.
    Thank you.

    I'm not back to win 10 to Win 7. I win 10 and I want to download the programs I lost BUT...
    PSKC8A-09V00S: part number you entered is not a device recognized supporting the upgrade to Windows 10. Please double check your part number and re-enter.
    ..... How to do that when I get this message? Is this to say that I'm stuck with Win10 on a Toshiba laptop without programs Toshiba? And if my device does not support windows 10, why I sent the upgrade, and why Win10 seems to work very well on my device? Can someone answer this?

  • Lost after activation of the version foreign key relationship tables

    I created 2 tables to test this: approach the table and the Customer table that has a column AddressId referencing the Id primary key column in the Address table.

    So I ran the following statement in pl/sql developer:

    Start
    dbms_wm. EnableVersioning (' address, customer ', 'VIEW_WO_OVERWRITE');
    end;

    Then I couldn't find the foreign key in the table customer_lt or. What's not here?

    Thanks for any clue.

    -Nico-

    Hello!

    which is expected. OWM manages foreign in their own country keys when you encounter tables enabled version, that's why you don't see them anymore.
    Please see Chapter 1.9 ('constraint with Workspace Manager support') in the documentation for more information.
    When you open a DDL session on a version-enabled table, you can see the foreign keys on the temporary table _LTS. It is also the only way later on Add/Remove foreign key constraints.
    Apart from this, you can use the views ALL_WM_RIC_INFO or USER_WM_RIC_INFO to display foreign key metadata.

    hope that helps.

    Kind regards

    Andreas

Maybe you are looking for