Discussion:
[Middlegen-user] Oracle problem with the <middlegen> task
Srinivas Dhulipala
2002-09-12 08:21:03 UTC
Permalink
Hi All,

When I run the middlegen task accessing an Oracle database I get the
following exception:

----------------------------------------------------------------------------
-------------------------------------------------------

Buildfile: build.xml

check-driver-present:

panic-if-driver-not-present:

middlegen:
[middlegen] Database URL:jdbc:oracle:thin:@ctpnt004:1521:gnorizo
[middlegen] No <table> elements specified. Reading all tables. This might
take a
while...
[middlegen] (middlegen.MiddlegenPopulator 235 ) ORA-00942: table or
view
does not exist

[middlegen] java.sql.SQLException: ORA-00942: table or view does not exist

[middlegen] at
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:1
14)
[middlegen] at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
[middlegen] at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
[middlegen] at
oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)

[middlegen] at
oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.
java:738)
[middlegen] at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStat
ement.java:1313)
[middlegen] at
oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleState
ment.java:1232)
[middlegen] at
oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleS
tatement.java:1353)
[middlegen] at
oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.
java:1760)
[middlegen] at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(Oracl
eStatement.java:1805)
[middlegen] at
oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatem
ent.java:531)
[middlegen] at
oracle.jdbc.driver.OracleDatabaseMetaData.getIndexInfo(Oracle
DatabaseMetaData.java:3403)
[middlegen] at
middlegen.MiddlegenPopulator.addColumns(MiddlegenPopulator.ja
va:607)
[middlegen] at
middlegen.MiddlegenPopulator.populate(MiddlegenPopulator.java
:214)
[middlegen] at middlegen.MiddlegenTask.execute(MiddlegenTask.java:403)
[middlegen] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:166)
[middlegen] at org.apache.tools.ant.Task.perform(Task.java:319)
[middlegen] at org.apache.tools.ant.Target.execute(Target.java:309)
[middlegen] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[middlegen] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)

[middlegen] at
org.apache.tools.ant.Project.executeTargets(Project.java:1250
)
[middlegen] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[middlegen] at org.apache.tools.ant.Main.start(Main.java:196)
[middlegen] at org.apache.tools.ant.Main.main(Main.java:235)

BUILD FAILED
file:C:/Documents and
Settings/1132/Desktop/middlegen/middlegen/samples/build.xm
l:133: middlegen.MiddlegenException: Database problem:ORA-00942: table or
view d
oes not exist


The middlegen task looks as follows:

<!-- =================================================================== -->
<!-- Run Middlegen
-->
<!-- ===================================================================
-->
<target
name="middlegen"
description="Run Middlegen"
unless="middlegen.skip"
depends="check-driver-present,panic-if-driver-not-present"
<mkdir dir="${build.gen-src.dir}"/>

<taskdef
name="middlegen"
classname="middlegen.MiddlegenTask"
classpathref="lib.class.path"
/>

<middlegen
appname="${name}"
prefsdir="${src.dir}"
gui="yes"
databaseurl="${database.url}"
initialContextFactory="${java.naming.factory.initial}"
providerURL="${java.naming.provider.url}"
datasourceJNDIName="${name}.database"
driver="${database.driver}"
username="${database.userid}"
password="${database.password}"
<cmp20
destination="${build.gen-src.dir}"
package="${name}.ejb"
interfacepackage="${name}.interfaces"
jndiprefix="${unique.name}"
pkclass="false"
dataobject="false"
viewtype="local"
mergedir="${basedir}/src/middlegen"
readonly="false"
fkcmp="true"
pkgen="true"
<weblogic/>
<jboss/>
</cmp20>

</middlegen>

<mkdir dir="${build.classes.dir}"/>
</target>


The included oracle.xml file looks as follows:
<!-- =================================================================== -->
<!-- ant properties/targets for oracle 8/9 -->
<!-- note: this is not a proper xml file (there is no root element) -->
<!-- it is intended to be imported from a *real* xml file -->
<!-- =================================================================== -->

<!-- please set your Oracle-SID according to your needs -->

<property environment="env"/>

<property name="database.script.file"
value="${src.dir}/sql/${name}-oracle.sql"/>
<property name="database.driver.file"
value="D:\Projects\GnorizoModules\WEB-INF\lib\classes12.jar"/>
<property name="database.driver.classpath"
value="${database.driver.file}"/>
<property name="database.driver"
value="oracle.jdbc.driver.OracleDriver"/>
<property name="database.url"
value="jdbc:oracle:thin:@ctpnt004:1521:gnorizo"/>
<property name="database.userid" value="gnodev3b"/>
<property name="database.password" value="gnodev3b"/>
<property name="database.schema" value=""/>
<property name="database.catalog" value=""/>

<!--property name="jboss.datasource.mapping" value="Oracle7"/-->
<property name="jboss.datasource.mapping" value="Oracle8"/>
<!--property name="jboss.datasource.mapping" value="Oracle9i"/-->


I have the latest source from CVS and am using Ant 1.5. The Oracle database
certainly has all the tables present in it. Any help would be greatly
appreciated.

Thanks,
Srini
Srinivas Dhulipala
2002-09-12 09:20:03 UTC
Permalink
Hi All,

I specified the list of tables (all in upper case for Oracle) and it all
worked just fine! This is with the latest CVS source. I also tried using
Middlegen 1.0 and it did not require that all the tables be specified as
part of the <middlegen> task. So, this might possibly be a bug in the
current CVS source...

Thanks,
Srini

-----Original Message-----
From: Srinivas Dhulipala [mailto:***@ctp.ilabsgroup.com]
Sent: Thursday, September 12, 2002 3:56 PM
To: middlegen-***@lists.sourceforge.net
Subject: [Middlegen-user] Oracle problem with the <middlegen> task



Hi All,

When I run the middlegen task accessing an Oracle database I get the
following exception:

----------------------------------------------------------------------------
-------------------------------------------------------

Buildfile: build.xml

check-driver-present:

panic-if-driver-not-present:

middlegen:
[middlegen] Database URL:jdbc:oracle:thin:@ctpnt004:1521:gnorizo
[middlegen] No <table> elements specified. Reading all tables. This might
take a
while...
[middlegen] (middlegen.MiddlegenPopulator 235 ) ORA-00942: table or
view
does not exist

[middlegen] java.sql.SQLException: ORA-00942: table or view does not exist

[middlegen] at
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:1
14)
[middlegen] at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
[middlegen] at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
[middlegen] at
oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)

[middlegen] at
oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.
java:738)
[middlegen] at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStat
ement.java:1313)
[middlegen] at
oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleState
ment.java:1232)
[middlegen] at
oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleS
tatement.java:1353)
[middlegen] at
oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.
java:1760)
[middlegen] at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(Oracl
eStatement.java:1805)
[middlegen] at
oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatem
ent.java:531)
[middlegen] at
oracle.jdbc.driver.OracleDatabaseMetaData.getIndexInfo(Oracle
DatabaseMetaData.java:3403)
[middlegen] at
middlegen.MiddlegenPopulator.addColumns(MiddlegenPopulator.ja
va:607)
[middlegen] at
middlegen.MiddlegenPopulator.populate(MiddlegenPopulator.java
:214)
[middlegen] at middlegen.MiddlegenTask.execute(MiddlegenTask.java:403)
[middlegen] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:166)
[middlegen] at org.apache.tools.ant.Task.perform(Task.java:319)
[middlegen] at org.apache.tools.ant.Target.execute(Target.java:309)
[middlegen] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[middlegen] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)

[middlegen] at
org.apache.tools.ant.Project.executeTargets(Project.java:1250
)
[middlegen] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[middlegen] at org.apache.tools.ant.Main.start(Main.java:196)
[middlegen] at org.apache.tools.ant.Main.main(Main.java:235)

BUILD FAILED
file:C:/Documents and
Settings/1132/Desktop/middlegen/middlegen/samples/build.xm
l:133: middlegen.MiddlegenException: Database problem:ORA-00942: table or
view d
oes not exist


The middlegen task looks as follows:

<!-- =================================================================== -->
<!-- Run Middlegen
-->
<!-- ===================================================================
-->
<target
name="middlegen"
description="Run Middlegen"
unless="middlegen.skip"
depends="check-driver-present,panic-if-driver-not-present"
<mkdir dir="${build.gen-src.dir}"/>

<taskdef
name="middlegen"
classname="middlegen.MiddlegenTask"
classpathref="lib.class.path"
/>

<middlegen
appname="${name}"
prefsdir="${src.dir}"
gui="yes"
databaseurl="${database.url}"
initialContextFactory="${java.naming.factory.initial}"
providerURL="${java.naming.provider.url}"
datasourceJNDIName="${name}.database"
driver="${database.driver}"
username="${database.userid}"
password="${database.password}"
<cmp20
destination="${build.gen-src.dir}"
package="${name}.ejb"
interfacepackage="${name}.interfaces"
jndiprefix="${unique.name}"
pkclass="false"
dataobject="false"
viewtype="local"
mergedir="${basedir}/src/middlegen"
readonly="false"
fkcmp="true"
pkgen="true"
<weblogic/>
<jboss/>
</cmp20>

</middlegen>

<mkdir dir="${build.classes.dir}"/>
</target>


The included oracle.xml file looks as follows:
<!-- =================================================================== -->
<!-- ant properties/targets for oracle 8/9 -->
<!-- note: this is not a proper xml file (there is no root element) -->
<!-- it is intended to be imported from a *real* xml file -->
<!-- =================================================================== -->

<!-- please set your Oracle-SID according to your needs -->

<property environment="env"/>

<property name="database.script.file"
value="${src.dir}/sql/${name}-oracle.sql"/>
<property name="database.driver.file"
value="D:\Projects\GnorizoModules\WEB-INF\lib\classes12.jar"/>
<property name="database.driver.classpath"
value="${database.driver.file}"/>
<property name="database.driver"
value="oracle.jdbc.driver.OracleDriver"/>
<property name="database.url"
value="jdbc:oracle:thin:@ctpnt004:1521:gnorizo"/>
<property name="database.userid" value="gnodev3b"/>
<property name="database.password" value="gnodev3b"/>
<property name="database.schema" value=""/>
<property name="database.catalog" value=""/>

<!--property name="jboss.datasource.mapping" value="Oracle7"/-->
<property name="jboss.datasource.mapping" value="Oracle8"/>
<!--property name="jboss.datasource.mapping" value="Oracle9i"/-->


I have the latest source from CVS and am using Ant 1.5. The Oracle database
certainly has all the tables present in it. Any help would be greatly
appreciated.

Thanks,
Srini


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

Loading...