Skip to Main Content

SQL Developer Data Modeler

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

SQL script issue on apex

NicolasGMay 13 2020 — edited May 14 2020

Hello,

I'm new to using oracle developer data modeler and oracle apex and I have very little knowledge of DB, so I apologize if I make big mistakes.

context: I recently started a course in DB management and I have to realize for a lab an application on apex allowing to access several tables and to add / modify / search data.

So I made a logical model on data modeler then I regenerate the physical model.

here is what i get

pastedImage_0.pngpastedImage_1.png

I then generated the sql script by exporting a ddl file with all my tables, here is what I get

-- Généré par Oracle SQL Developer Data Modeler 19.4.0.350.1424

-- à : 2020-05-14 03:40:44 EEST

-- site : Oracle Database 11g

-- type : Oracle Database 11g

CREATE TABLE actors (

actors\_id             INTEGER NOT NULL,

actors\_firstname      VARCHAR2(255 CHAR),

actors\_lastname       VARCHAR2(255 CHAR),

actors\_date\_of\_birth  DATE,

actors\_nationality    VARCHAR2(255 CHAR)

);

ALTER TABLE actors ADD CONSTRAINT actors_pk PRIMARY KEY ( actors_id );

CREATE TABLE directors (

directors\_id             INTEGER NOT NULL,

directors\_fistname       VARCHAR2(255 CHAR),

directors\_lastname       VARCHAR2(255 CHAR),

directors\_date\_of\_birth  DATE,

directors\_nationality    VARCHAR2(255 CHAR)

);

ALTER TABLE directors ADD CONSTRAINT directors_pk PRIMARY KEY ( directors_id );

CREATE TABLE distributors (

distributors\_id       INTEGER NOT NULL,

distributors\_name     VARCHAR2(255 CHAR),

distributors\_country  VARCHAR2(255 CHAR)

);

ALTER TABLE distributors ADD CONSTRAINT distributors_pk PRIMARY KEY ( distributors_id );

CREATE TABLE genre (

genre\_id     INTEGER NOT NULL,

genre\_genre  VARCHAR2(255 CHAR)

);

ALTER TABLE genre ADD CONSTRAINT genre_pk PRIMARY KEY ( genre_id );

CREATE TABLE movie (

attribute\_1   INTEGER NOT NULL,

movie\_year    DATE,

movie\_title   VARCHAR2(255 CHAR),

movie\_length  INTEGER

);

ALTER TABLE movie ADD CONSTRAINT movie_pk PRIMARY KEY ( attribute_1 );

CREATE TABLE "Movie/Actors" (

movie\_attribute\_1  INTEGER NOT NULL,

actors\_actors\_id   INTEGER NOT NULL

);

ALTER TABLE "Movie/Actors" ADD CONSTRAINT "Movie/Actors_PK" PRIMARY KEY ( movie_attribute_1,

                                                                      actors\_actors\_id );

CREATE TABLE "Movie/Directors" (

movie\_attribute\_1       INTEGER NOT NULL,

directors\_directors\_id  INTEGER NOT NULL

);

ALTER TABLE "Movie/Directors" ADD CONSTRAINT "Movie/Directors_PK" PRIMARY KEY ( movie_attribute_1,

                                                                            directors\_directors\_id );

CREATE TABLE "Movie/Distributor" (

movie\_attribute\_1             INTEGER NOT NULL,

distributors\_distributors\_id  INTEGER NOT NULL

);

ALTER TABLE "Movie/Distributor" ADD CONSTRAINT "Movie/Distributor_PK" PRIMARY KEY ( movie_attribute_1,

                                                                                distributors\_distributors\_id );

CREATE TABLE "Movie/Genre" (

movie\_attribute\_1  INTEGER NOT NULL,

genre\_genre\_id     INTEGER NOT NULL

);

ALTER TABLE "Movie/Genre" ADD CONSTRAINT "Movie/Genre_PK" PRIMARY KEY ( movie_attribute_1,

                                                                    genre\_genre\_id );

ALTER TABLE "Movie/Actors"

ADD CONSTRAINT "Movie/Actors\_Actors\_FK" FOREIGN KEY ( actors\_actors\_id )

    REFERENCES actors ( actors\_id );

ALTER TABLE "Movie/Actors"

ADD CONSTRAINT "Movie/Actors\_Movie\_FK" FOREIGN KEY ( movie\_attribute\_1 )

    REFERENCES movie ( attribute\_1 );

ALTER TABLE "Movie/Directors"

ADD CONSTRAINT "Movie/Directors\_Directors\_FK" FOREIGN KEY ( directors\_directors\_id )

    REFERENCES directors ( directors\_id );

ALTER TABLE "Movie/Directors"

ADD CONSTRAINT "Movie/Directors\_Movie\_FK" FOREIGN KEY ( movie\_attribute\_1 )

    REFERENCES movie ( attribute\_1 );

ALTER TABLE "Movie/Distributor"

ADD CONSTRAINT "Movie/Distrib\_FK" FOREIGN KEY ( distributors\_distributors\_id )

    REFERENCES distributors ( distributors\_id );

ALTER TABLE "Movie/Distributor"

ADD CONSTRAINT "Movie/Distrib\_Movie\_FK" FOREIGN KEY ( movie\_attribute\_1 )

    REFERENCES movie ( attribute\_1 );

ALTER TABLE "Movie/Genre"

ADD CONSTRAINT "Movie/Genre\_Genre\_FK" FOREIGN KEY ( genre\_genre\_id )

    REFERENCES genre ( genre\_id );

ALTER TABLE "Movie/Genre"

ADD CONSTRAINT "Movie/Genre\_Movie\_FK" FOREIGN KEY ( movie\_attribute\_1 )

    REFERENCES movie ( attribute\_1 );

-- Rapport récapitulatif d'Oracle SQL Developer Data Modeler :

--

-- CREATE TABLE 9

-- CREATE INDEX 0

-- ALTER TABLE 17

-- CREATE VIEW 0

-- ALTER VIEW 0

-- CREATE PACKAGE 0

-- CREATE PACKAGE BODY 0

-- CREATE PROCEDURE 0

-- CREATE FUNCTION 0

-- CREATE TRIGGER 0

-- ALTER TRIGGER 0

-- CREATE COLLECTION TYPE 0

-- CREATE STRUCTURED TYPE 0

-- CREATE STRUCTURED TYPE BODY 0

-- CREATE CLUSTER 0

-- CREATE CONTEXT 0

-- CREATE DATABASE 0

-- CREATE DIMENSION 0

-- CREATE DIRECTORY 0

-- CREATE DISK GROUP 0

-- CREATE ROLE 0

-- CREATE ROLLBACK SEGMENT 0

-- CREATE SEQUENCE 0

-- CREATE MATERIALIZED VIEW 0

-- CREATE MATERIALIZED VIEW LOG 0

-- CREATE SYNONYM 0

-- CREATE TABLESPACE 0

-- CREATE USER 0

--

-- DROP TABLESPACE 0

-- DROP DATABASE 0

--

-- REDACTION POLICY 0

--

-- ORDS DROP SCHEMA 0

-- ORDS ENABLE SCHEMA 0

-- ORDS ENABLE OBJECT 0

--

-- ERRORS 0

-- WARNINGS 0

once this done, i was on apex> utilities> quick sql and pasted my sql script

however, once the sql is generated and saved, when I try to review and run the script the following error appears:

pastedImage_2.png

I searched the net and I did not find an answer correcting my error (maybe I was looking badly)

if anyone would know how to fix this error it would help me a lot

Comments

843834
I agree with your hunch. The parser should treat dlmd:record as just another element (colons are allowed in XML element names when namspace feature is turned off). Maybe you could elaborate a bit on what parser you're using, what Document (JDOM or DOM) you're building and where the exception comes from (io exception is kind of strange, too).
843834
Hi
I am using JAXP 1.1 and I am builidng a DOM document. The exception I get is a SAX Exception and the following is the stack trace

java.lang.NullPointerException
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:523)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:179)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:161)
at dlnet.DLXMLParse.dlDocumentBuild(DLXMLParse.java:282)
at dlnet.DLXMLParse.dlStart_Parse(DLXMLParse.java:50)
at dlnet.DLTrigger.main(DLTrigger.java:40)

Hope you can suggest a solution.....
843834
I see. I only tried xerces with your example and it was just fine. You're using Crimson, though and there seems to be a bug in crimson1.1. Go, get crimson1.1.1 from http://xml.apache.org and it'll parse fine.

Good luck,
Leo.
843834
Using the new version of Crimson does not help either. After I build the new Document Factory I set the namespace awareness to false and yet it gives me a sax exception......Could something else be wrong too!??

Thanks for your help....
Prashanth
843834
Prashanth,
this is what I'm doing. First, the parser test code:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;

public class JAXPDOMTest {

    public void domParse(String url) {
        DocumentBuilder parser;
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setValidating(false);
        factory.setNamespaceAware(false);

        try {
            parser = factory.newDocumentBuilder();
            Document doc = parser.parse(url);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    static public void main(String[] args)
    {
       JAXPDOMTest x=new JAXPDOMTest();
       x.domParse("test.xml");
    }
}
and here's test.xml:
<?xml version="1.0"?>

<metadata>
   <schema>Schema 1</schema>
   <schemaversion>DX:MD1.0 S:1.0</schemaversion>
   <dlmd:record>Record</dlmd:record>
</metadata>
jaxp-1.1 is my directory containing the official 1.1 release and my complete classpath look like this:
CLASSPATH=d:\xml_tools\jaxp-1.1\crimson.jar;d:\xml_tools\jaxp-1.1\jaxp.jar;.

I run the above (java JAXPDOMTest), I get:
java.lang.NullPointerException
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:523)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)

at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:179)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:134)
at JAXPDOMTest.domParse(JAXPDOMTest.java:15)
at JAXPDOMTest.main(JAXPDOMTest.java:24)

I set the class path to:
CLASSPATH=d:\xml_tools\crimson-1.1.1\crimson.jar;d:\xml_tools\crimson-1.1.1\jaxp.jar;.

and, voila, no exception.

Hope that helps,
Leo.
843834
Hi

This is what I did just now....I created a file out of the pseudo string and passed it to be parsed with crimson.....it gives me an error irrespective of whether I turn Namespace awareness true or not!

What could the reason be?

Thanks
Prashanth
843834
Well, that seems to be classic dilemma. The same code works fine on my machine, but has trouble on yours. I'm running on 95 with JSDK 1.3 (build 1.3.0-C).
I'm afraid I can't help you any further, since I can't reproduce this behaviour.

Leo.
843834
Thanks anyways....guess I have to figure it out myself.
Prashanth
843834
It finally worked!!!! This is what I did. I had to delete the jar files in the \lib\ext directory of Java Runtime Environment and it started working. Thanks Leo you have been of great help.......

Prashanth
843834
Yeah, that's a valuable lesson. jar files in lib/ext, I believe, are accessed before stuff in the class path. Glad to hear it's working.
843834
P.S.
check out http://forums.java.sun.com/rewardFaq.jsp#assign

;-)
843834
Yup! I did....It would be helpful if yo could throw some light one one other question i've posted!

http://forum.java.sun.com/thread.jsp?forum=34&thread=150639

Thanks
843834
Thx for the DDs. I saw this question before, but haven't done anything like this and I'm afraid, I can't give you advice on that one, but my instincts tell me, you'd be better off with the database solution.

Good luck.
843834
Thanks for the info.
I had the same problem, I have it no more

Small note: I had to put the XALAN.jar file AFTER the crimson.jar and jaxp.jar in order to make it work.


1 - 14

Post Details

Added on May 13 2020
6 comments
856 views