Re: oracle sql generation - invalid SQL statement in Entity Modeler

From: Mike Schrag (mschra..dimension.com)
Date: Sat Feb 17 2007 - 23:09:18 EST

  • Next message: Mike Schrag: "reverse engineer"

    I was afraid of that ... the create procedure block has semicolons in
    it, which breaks my quick fix of just splitting on colons or
    slashes. I actually have to have a smarter implementation that
    splits on the appropriate characters based on your database type.

    On Feb 17, 2007, at 2:53 PM, jlecuyer wrote:

    > Mike your 3831 version solved the ORA-00933: SQL command not
    > properly ended for:
    > Drop tables, drop Promary Keys, create table and Promary Key
    > Constrains;
    > But there are still error on Create Primary Key Support,
    >
    > commands and errors (from 3839), are:
    > ---
    > create table eo_temp_table as select max(JLENUMBER) counter from
    > SIMPLETESTTABLE
    > /
    >
    > create sequence SIMPLETESTTABLE_SEQ
    > /
    >
    > create procedure eo_set_sequence is
    > xxx number;
    > yyy number;
    > begin
    > select max(counter) into xxx from eo_temp_table;
    > if xxx is not NULL then
    > yyy := 0;
    > while (yyy < xxx) loop
    > select SIMPLETESTTABLE_SEQ.nextval into yyy from dual;
    > end loop;
    > end if;
    > end;
    >
    > /
    >
    > begin eo_set_sequence; end;
    > /
    >
    > drop procedure eo_set_sequence
    > /
    >
    > drop table eo_temp_table
    > /
    >
    > ---
    > java.sql.SQLException: ORA-00900: invalid SQL statement
    >
    > at oracle.jdbc.driver.DatabaseError.throwSqlException
    > (DatabaseError.java:112)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    > at oracle.jdbc.driver.T4CStatement.executeForRows
    > (T4CStatement.java:946)
    > at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    > (OracleStatement.java:1168)
    > at oracle.jdbc.driver.OracleStatement.executeUpdateInternal
    > (OracleStatement.java:1614)
    > at oracle.jdbc.driver.OracleStatement.executeUpdate
    > (OracleStatement.java:1579)
    > at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.executeSQL
    > (EOFSQLGenerator.java:485)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke
    > (NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke
    > (DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at
    > org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.executeSql(
    > GenerateSQLDialog.java:347)
    > at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$6.run
    > (GenerateSQLDialog.java:312)
    > at java.lang.Thread.run(Thread.java:613)
    >
    > continue:
    > java.sql.SQLException: ORA-06550: line 1, column 57:
    > PLS-00103: Encountered the symbol "end-of-file" when expecting one
    > of the following:
    >
    > ;
    >
    > at oracle.jdbc.driver.DatabaseError.throwSqlException
    > (DatabaseError.java:112)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    > at oracle.jdbc.driver.T4CStatement.executeForRows
    > (T4CStatement.java:946)
    > at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    > (OracleStatement.java:1168)
    > at oracle.jdbc.driver.OracleStatement.executeUpdateInternal
    > (OracleStatement.java:1614)
    > at oracle.jdbc.driver.OracleStatement.executeUpdate
    > (OracleStatement.java:1579)
    > at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.executeSQL
    > (EOFSQLGenerator.java:485)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke
    > (NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke
    > (DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at
    > org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.executeSql(
    > GenerateSQLDialog.java:347)
    > at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$6.run
    > (GenerateSQLDialog.java:312)
    > at java.lang.Thread.run(Thread.java:613)
    >
    > Continue:
    > java.sql.SQLException: ORA-00900: invalid SQL statement
    >
    > at oracle.jdbc.driver.DatabaseError.throwSqlException
    > (DatabaseError.java:112)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    > at oracle.jdbc.driver.T4CStatement.executeForRows
    > (T4CStatement.java:946)
    > at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    > (OracleStatement.java:1168)
    > at oracle.jdbc.driver.OracleStatement.executeUpdateInternal
    > (OracleStatement.java:1614)
    > at oracle.jdbc.driver.OracleStatement.executeUpdate
    > (OracleStatement.java:1579)
    > at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.executeSQL
    > (EOFSQLGenerator.java:485)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke
    > (NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke
    > (DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at
    > org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.executeSql(
    > GenerateSQLDialog.java:347)
    > at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$6.run
    > (GenerateSQLDialog.java:312)
    > at java.lang.Thread.run(Thread.java:613)
    >
    >
    > Continue:
    > java.sql.SQLException: ORA-00900: invalid SQL statement
    >
    > at oracle.jdbc.driver.DatabaseError.throwSqlException
    > (DatabaseError.java:112)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    > at oracle.jdbc.driver.T4CStatement.executeForRows
    > (T4CStatement.java:946)
    > at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    > (OracleStatement.java:1168)
    > at oracle.jdbc.driver.OracleStatement.executeUpdateInternal
    > (OracleStatement.java:1614)
    > at oracle.jdbc.driver.OracleStatement.executeUpdate
    > (OracleStatement.java:1579)
    > at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.executeSQL
    > (EOFSQLGenerator.java:485)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke
    > (NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke
    > (DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at
    > org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.executeSql(
    > GenerateSQLDialog.java:347)
    > at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$6.run
    > (GenerateSQLDialog.java:312)
    > at java.lang.Thread.run(Thread.java:613)
    >
    >
    > Continue:
    > java.sql.SQLException: ORA-00900: invalid SQL statement
    >
    > at oracle.jdbc.driver.DatabaseError.throwSqlException
    > (DatabaseError.java:112)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    > at oracle.jdbc.driver.T4CStatement.executeForRows
    > (T4CStatement.java:946)
    > at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    > (OracleStatement.java:1168)
    > at oracle.jdbc.driver.OracleStatement.executeUpdateInternal
    > (OracleStatement.java:1614)
    > at oracle.jdbc.driver.OracleStatement.executeUpdate
    > (OracleStatement.java:1579)
    > at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.executeSQL
    > (EOFSQLGenerator.java:485)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke
    > (NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke
    > (DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at
    > org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.executeSql(
    > GenerateSQLDialog.java:347)
    > at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$6.run
    > (GenerateSQLDialog.java:312)
    > at java.lang.Thread.run(Thread.java:613)
    >
    >
    > Continue:
    > java.sql.SQLException: ORA-00900: invalid SQL statement
    >
    > at oracle.jdbc.driver.DatabaseError.throwSqlException
    > (DatabaseError.java:112)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    > at oracle.jdbc.driver.T4CStatement.executeForRows
    > (T4CStatement.java:946)
    > at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    > (OracleStatement.java:1168)
    > at oracle.jdbc.driver.OracleStatement.executeUpdateInternal
    > (OracleStatement.java:1614)
    > at oracle.jdbc.driver.OracleStatement.executeUpdate
    > (OracleStatement.java:1579)
    > at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.executeSQL
    > (EOFSQLGenerator.java:485)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke
    > (NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke
    > (DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at
    > org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.executeSql(
    > GenerateSQLDialog.java:347)
    > at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$6.run
    > (GenerateSQLDialog.java:312)
    > at java.lang.Thread.run(Thread.java:613)
    >
    >
    > Continue:
    > java.sql.SQLException: ORA-00900: invalid SQL statement
    >
    > at oracle.jdbc.driver.DatabaseError.throwSqlException
    > (DatabaseError.java:112)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    > at oracle.jdbc.driver.T4CStatement.executeForRows
    > (T4CStatement.java:946)
    > at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    > (OracleStatement.java:1168)
    > at oracle.jdbc.driver.OracleStatement.executeUpdateInternal
    > (OracleStatement.java:1614)
    > at oracle.jdbc.driver.OracleStatement.executeUpdate
    > (OracleStatement.java:1579)
    > at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.executeSQL
    > (EOFSQLGenerator.java:485)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke
    > (NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke
    > (DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at
    > org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.executeSql(
    > GenerateSQLDialog.java:347)
    > at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$6.run
    > (GenerateSQLDialog.java:312)
    > at java.lang.Thread.run(Thread.java:613)
    >
    >
    > java.sql.SQLException: ORA-06550: line 1, column 21:
    > PLS-00103: Encountered the symbol "end-of-file" when expecting one
    > of the following:
    >
    > := . (..% ;
    >
    > at oracle.jdbc.driver.DatabaseError.throwSqlException
    > (DatabaseError.java:112)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    > at oracle.jdbc.driver.T4CStatement.executeForRows
    > (T4CStatement.java:946)
    > at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    > (OracleStatement.java:1168)
    > at oracle.jdbc.driver.OracleStatement.executeUpdateInternal
    > (OracleStatement.java:1614)
    > at oracle.jdbc.driver.OracleStatement.executeUpdate
    > (OracleStatement.java:1579)
    > at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.executeSQL
    > (EOFSQLGenerator.java:485)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke
    > (NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke
    > (DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at
    > org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.executeSql(
    > GenerateSQLDialog.java:347)
    > at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$6.run
    > (GenerateSQLDialog.java:312)
    > at java.lang.Thread.run(Thread.java:613)
    >
    >
    > Continue:
    > java.sql.SQLException: ORA-00900: invalid SQL statement
    >
    > at oracle.jdbc.driver.DatabaseError.throwSqlException
    > (DatabaseError.java:112)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    > at oracle.jdbc.driver.T4CStatement.executeForRows
    > (T4CStatement.java:946)
    > at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    > (OracleStatement.java:1168)
    > at oracle.jdbc.driver.OracleStatement.executeUpdateInternal
    > (OracleStatement.java:1614)
    > at oracle.jdbc.driver.OracleStatement.executeUpdate
    > (OracleStatement.java:1579)
    > at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.executeSQL
    > (EOFSQLGenerator.java:485)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke
    > (NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke
    > (DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at
    > org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.executeSql(
    > GenerateSQLDialog.java:347)
    > at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$6.run
    > (GenerateSQLDialog.java:312)
    > at java.lang.Thread.run(Thread.java:613)
    >
    >
    > Continue:
    > SQL Execution Complete
    >
    > Hope you can find something, thanks.
    > Jean



    This archive was generated by hypermail 2.0.0 : Sat Feb 17 2007 - 23:10:35 EST