Hello,
I'm having trouble doing an insert using torque. My setup is:
torque-3.0-rc1
ant 1.5.1
jdk1.3.1_01
MS-SQL 2000 sp1
The error I'm getting is:
org.apache.torque.TorqueException: IdGenerator for table 'myIdentTable' is
null
at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:690)
at
com.neworder.om.BaseMyidenttablePeer.doInsert(BaseMyidenttablePeer.java:195)
at
com.neworder.om.BaseMyidenttablePeer.doInsert(BaseMyidenttablePeer.java:480)
at com.neworder.om.BaseMyidenttable.save(BaseMyidenttable.java:313)
at com.neworder.om.BaseMyidenttable.save(BaseMyidenttable.java:275)
at com.neworder.om.BaseMyidenttable.save(BaseMyidenttable.java:255)
at com.neworder.TorqueTester.startIt(TorqueTester.java:40)
at com.neworder.TorqueTester.main(TorqueTester.java:20)
The code that creates above error:
Torque.init("c:/torque-3.0-rc1/FcpmReport_Torque.properties");
... (select code works great!!) ...
Myidenttable myid = new Myidenttable();
myid.setCol1(14);
myid.setCol2("Hey did this make it in??");
myid.save();
I've set up a simple test database. In table 'myIdentTable I have a column
named id, as primary key using uniqueidentifier with default= 'newid()'
I've reviewed the tutorial and observed the naming guide lines regarding
the database element name attribute matching the jdbc url database name.
I have idMethod="native" in table element myIdentTable.
The error messages screams bad setup but I can't find it. Any help would be
vastly appreciated.
Thanks,
setup details below
Steve Hansen
Solutions Engineer
[EMAIL PROTECTED]
Sinex Aviation Technologies
****************************************************************************
****
Setup:
build.properties ...
torque.project = fcpmerrorreport
torque.database = mssql
torque.database.manual.creation = true
torque.targetPackage = com.neworder.om
torque.addGetByNameMethod = true
torque.addIntakeRetrievable = false
torque.addSaveMethod = true
torque.addTimeStamp = true
torque.basePrefix = Base
torque.complexObjectModel = true
torque.useClasspath = false
torque.useManagers = false
torque.database.createUrl =
jdbc:microsoft:sqlserver://localhost:1433;databasename=fcpmerrorreport;Selec
tMethod=cursor
torque.database.buildUrl =
jdbc:microsoft:sqlserver://localhost:1433;databasename=fcpmerrorreport;Selec
tMethod=cursor
torque.database.url =
jdbc:microsoft:sqlserver://localhost:1433;databasename=fcpmerrorreport;Selec
tMethod=cursor
torque.database.driver = com.microsoft.jdbc.sqlserver.SQLServerDriver
torque.database.user = sa
torque.database.password = sinex
torque.database.host = vector
toruqe.database.schema = DBO
torque.sameJavaName = false
torque.home = c:/torque-3.0-rc1
FcpmReport_Torque.properites ... (runtime)
torque.applicationRoot = .
log4j.category.org.apache.torque = ALL, org.apache.torque
log4j.appender.org.apache.torque = org.apache.log4j.FileAppender
log4j.appender.org.apache.torque.file =
${torque.applicationRoot}/logs/torque.log
log4j.appender.org.apache.torque.layout = org.apache.log4j.PatternLayout
log4j.appender.org.apache.torque.layout.conversionPattern = %d [%t] %-5p
%c - %m%n
log4j.appender.org.apache.torque.append = false
torque.database.default=fcpmerrorreport
torque.database.bookstore.adapter=mssql
## Using torque's old pool
torque.dsfactory.fcpmerrorreport.factory=org.apache.torque.dsfactory.TorqueD
ataSourceFactory
torque.dsfactory.fcpmerrorreport.pool.defaultMaxConnections=10
torque.dsfactory.fcpmerrorreport.pool.maxExpiryTime=3600
torque.dsfactory.fcpmerrorreport.pool.connectionWaitTimeout=10
torque.dsfactory.fcpmerrorreport.connection.driver =
com.microsoft.jdbc.sqlserver.SQLServerDriver
torque.dsfactory.fcpmerrorreport.connection.url =
jdbc:microsoft:sqlserver://localhost:1433;databasename=fcpmerrorreport;Selec
tMethod=cursor
torque.dsfactory.fcpmerrorreport.connection.user = auser
torque.dsfactory.fcpmerrorreport.connection.password = apassword
fcpmreport-schema.xml
<?xml version="1.0"?>
<!DOCTYPE database SYSTEM
"http://jakarta.apache.org/turbine/dtd/database.dtd">
<!-- Autogenerated by JDBCToXMLSchema! -->
<database
name="fcpmerrorreport"
defaultIdMethod="native">
<table name="dtproperties">
<column name="id" primaryKey="true" required="true" type="INTEGER"/>
<column name="objectid" type="INTEGER"/>
<column name="property" primaryKey="true" required="true"
size="64" type="VARCHAR"/>
<column name="value" size="255" type="VARCHAR"/>
<column name="uvalue" size="255" type="VARCHAR"/>
<column name="lvalue" type="LONGVARBINARY"/>
<column default="0" name="version" required="true" type="INTEGER"/>
</table>
<table name="ErrorLog">
<column name="ErrorNum" required="true" size="18" type="NUMERIC"/>
<column name="Descript" required="true" size="1000" type="VARCHAR"/>
<column name="Source" size="500" type="VARCHAR"/>
<column name="ErrorFile" size="150" type="VARCHAR"/>
<column name="Line" size="50" type="VARCHAR"/>
<column name="ErrorColumn" size="18" type="NUMERIC"/>
<column name="Category" javaName="ErrorCategory" size="50"
type="VARCHAR"/>
<column name="ASPCode" size="1000" type="VARCHAR"/>
<column name="ASPDesc" size="2000" type="VARCHAR"/>
<column name="AC" size="50" type="VARCHAR"/>
<column name="Who" size="50" type="VARCHAR"/>
<column name="Cust" size="150" type="VARCHAR"/>
<column name="Db" size="10" type="CHAR"/>
<column name="SessionData" size="2147483647" type="LONGVARCHAR"/>
<column name="DateStamp" required="true" type="TIMESTAMP"/>
<column name="checked" size="2" type="VARCHAR"/>
<column name="checked_by" size="50" type="VARCHAR"/>
<column name="ReportKey" required="true" type="INTEGER"/>
<column name="id" primaryKey="true" required="true" type="BIGINT"/>
</table>
<table name="myIdentTable" idMethod="native">
<column name="col1" required="true" type="INTEGER"/>
<column name="col2" size="20" type="VARCHAR"/>
<column default="newid()" name="id" primaryKey="true"
required="true" size="36" type="CHAR"/>
</table>
<table name="Report">
<column name="id" required="true" type="INTEGER"/>
<column name="ReportDesc" required="true" size="50" type="CHAR"/>
<column name="Site" required="true" size="10" type="CHAR"/>
<column name="Customer" size="50" type="CHAR"/>
<column name="ReportDate" type="TIMESTAMP"/>
</table>
<table name="sysconstraints">
<column name="constid" type="INTEGER"/>
<column name="id" type="INTEGER"/>
<column name="colid" type="SMALLINT"/>
<column name="spare1" type="TINYINT"/>
<column name="status" type="INTEGER"/>
<column name="actions" type="INTEGER"/>
<column name="error" type="INTEGER"/>
</table>
<table name="syssegments">
<column name="segment" required="true" type="INTEGER"/>
<column name="name" required="true" size="10" type="VARCHAR"/>
<column name="status" required="true" type="INTEGER"/>
</table>
</database>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>