You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@turbine.apache.org by Dan Finkelstein <da...@bluescope.com> on 2001/10/11 01:10:54 UTC
Torque: Oracle with idMethod as "native"
Hi --
I'm setting up a development using Torque (without Turbine) connected to
Oracle. Using Steve Davis's "detailed example (long)" (Thanks, Steve!!!!),
I got finished...so I thought! Then I changed the idbroker to "native" to
test out an insert. I modified the schema file as shown:
<database defaultIdMethod="native">
The sql that torque generated looked fine -- the create sequence code was
included. When I ran my test program, which tried to do an insert, the
following error came up:
java.sql.SQLException: ORA-00923: FROM keyword not found where
expected
I investigated and found that the framework was tried to call oracle with
select null.nextval from dual
instead of
select company_seq.nextval from dual
This has really stumped me. I'm using the latest jakarta-turbine-torque
from cvs. Below are some more details. Any ideas?
Dan
===============================
SHELL LINES
===============================
D:\projects\par>java PLTest
id_in_sql...select null.nextval from dual
java.sql.SQLException: ORA-00923: FROM keyword not found where expected
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:1503)
at
oracle.jdbc.oci8.OCIDBAccess.parseExecuteDescribe(OCIDBAccess.java:
5)
at
oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.j
a:1600)
at
oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1
8)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleState
nt.java:1805)
at
oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.jav
410)
at
com.workingdogs.village.QueryDataSet.<init>(QueryDataSet.java:112)
at
org.apache.torque.oid.SequenceIdGenerator.getIdAsVillageValue(Seque
eIdGenerator.java:189)
at
org.apache.torque.oid.SequenceIdGenerator.getIdAsBigDecimal(Sequenc
dGenerator.java:126)
at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:791)
at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:695)
at
com.bluescope.pl.tables.BaseCompanyPeer.doInsert(BaseCompanyPeer.ja
:126)
at
com.bluescope.pl.tables.BaseCompanyPeer.doInsert(BaseCompanyPeer.ja
:112)
at
com.bluescope.pl.tables.BaseCompanyPeer.doInsert(BaseCompanyPeer.ja
:344)
at PLTest.main(PLTest.java:26)
D:\projects\par>
===============================
PART OF MY SCHEMA XML FILE
===============================
<database
defaultIdMethod="native"
>
<table name="COMPANY">
<column name="ID" required="true" autoIncrement="true"
primaryKey="true" type="INTEGER"/>
<column name="NAME" required="true" size="255" type="VARCHAR"/>
<column name="GLOBALXML" required="true" size="255" type="VARCHAR"/>
<column name="UPDATED" required="true" type="TIMESTAMP"/>
</table>
===============================
PART OF MY JAVA TEST PROGRAM
===============================
// initialize Torque
Torque.init("/projects/par/par.properties");
Company c = new Company();
c.setName ("IBM");
c.setGlobalxml ("abcxml");
c.setUpdated(new Date());
CompanyPeer.doInsert (c);
===============================
PART OF MY PROPERTIES FILE
===============================
services.DatabaseService.database.default=default
services.DatabaseService.database.default.driver=oracle.jdbc.driver.OracleDr
iver
services.DatabaseService.database.default.url=jdbc:oracle:oci8:@DBBOX
services.DatabaseService.database.default.username=xxx
services.DatabaseService.database.default.password=xxx
services.DatabaseService.database.adapter=DBOracle
services.DatabaseService.database.adapter.DBOracle=oracle.jdbc.driver.Oracle
Driver
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-user-help@jakarta.apache.org