Hello 2 everyone.

Today I found some not nice thing....

In this Code:


DataContext CTX = DataContext.createDataContext();

//begin some transaction
Transaction transact = Transaction.internalTransaction(null);
Transaction.bindThreadTransaction(transact);
Transaction.getThreadTransaction().begin();

//create temp table             
CTX.performQuery("CreateTempTable", true);

//delete from that temp table   
CTX.performQuery("DeleteFromTempTable", true);
                
Transaction.getThreadTransaction().commit();




Result:

INFO  QueryLogger: Created connection pool: jdbc:jtds:sqlserver://******
        Driver class: net.sourceforge.jtds.jdbc.Driver
        Min. connections in the pool: 2
        Max. connections in the pool: 10
INFO  QueryLogger: --- transaction started.
INFO  QueryLogger: --- will run 1 query.
INFO  QueryLogger: Opening connection: jdbc:jtds:sqlserver://**********
        Login: diasoft
        Password: *******
INFO  QueryLogger: +++ Connecting: SUCCESS.
INFO  QueryLogger: Detected and installed adapter:
org.apache.cayenne.dba.sqlserver.SQLServerAdapter
INFO  QueryLogger: CREATE TABLE #MyTempTable (SomeID int)
INFO  QueryLogger: --- will run 1 query.
INFO  QueryLogger: DELETE FROM #MyTempTable
INFO  QueryLogger: *** error.
java.sql.SQLException: Invalid object name '#MyTempTable'.
        at 
net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
        at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)
        at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258)
        at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632)
        at 
net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
        at 
net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
        at 
net.sourceforge.jtds.jdbc.JtdsPreparedStatement.execute(JtdsPreparedStatement.java:560)
        at 
org.apache.cayenne.access.jdbc.SQLTemplateAction.execute(SQLTemplateAction.java:135)
        at 
org.apache.cayenne.access.jdbc.SQLTemplateAction.performAction(SQLTemplateAction.java:107)
        at 
org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:59)
        at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:273)
        at 
org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:301)
        at 
org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:60)
        at 
org.apache.cayenne.access.DataDomainQueryAction$1.transform(DataDomainQueryAction.java:273)
        at 
org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:826)
        at 
org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:270)
        at 
org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:110)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:746)
        at 
org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:217)
        at 
org.apache.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:54)
        at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1395)
        at 
org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1384)
        at 
org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1578)
        at 
org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1559)
        at ru.diasoft.cayenne.TestTempTable.main(TestTempTable.java:27)
Exception in thread "main" org.apache.cayenne.CayenneRuntimeException:
[v.2.0.4 October 12 2007] Query exception.
        at 
org.apache.cayenne.access.DataDomainQueryAction.nextQueryException(DataDomainQueryAction.java:428)
        at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:280)
        at 
org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:301)
        at 
org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:60)
        at 
org.apache.cayenne.access.DataDomainQueryAction$1.transform(DataDomainQueryAction.java:273)
        at 
org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:826)
        at 
org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:270)
        at 
org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:110)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:746)
        at 
org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:217)
        at 
org.apache.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:54)
        at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1395)
        at 
org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1384)
        at 
org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1578)
        at 
org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1559)
        at ru.diasoft.cayenne.TestTempTable.main(TestTempTable.java:27)
Caused by: java.sql.SQLException: Invalid object name '#MyTempTable'.
        at 
net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
        at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)
        at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258)
        at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632)
        at 
net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
        at 
net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
        at 
net.sourceforge.jtds.jdbc.JtdsPreparedStatement.execute(JtdsPreparedStatement.java:560)
        at 
org.apache.cayenne.access.jdbc.SQLTemplateAction.execute(SQLTemplateAction.java:135)
        at 
org.apache.cayenne.access.jdbc.SQLTemplateAction.performAction(SQLTemplateAction.java:107)
        at 
org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:59)
        at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:273)
        ... 14 more



Any Ideas how to handle it?

Reply via email to