Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-01791 - xa datasource

741934Dec 18 2009 — edited Dec 18 2009
Hello,

I have a problem with the following statement in an Oracle 10g database (10g Enterprise Edition Release 10.2.0.3.0):

SELECT
DISTINCT cOrgCodeBuyer, cCustomerDesc
FROM vCalDelSortedByConsignee_SO
WHERE vCalDelSortedByConsignee_SO.cClientId=?
AND cCPSellerId IN (?)
ORDER BY cOrgCodeBuyer, cCustomerDesc

or (with inserted values):

SELECT
DISTINCT cOrgCodeBuyer, cCustomerDesc
FROM vCalDelSortedByConsignee_SO
WHERE vCalDelSortedByConsignee_SO.cClientId=1
AND cCPSellerId IN (10007526)
ORDER BY cOrgCodeBuyer, cCustomerDesc

(the 'table' vCalDelSortedByConsignee_SO is a view).

I have installed JBoss-4.2.3GA and first I configured a local-tx-datasource: No problems. Then I configured a xa-datasource: No problems. Only executing the mentioned statement I get the following error:

Caused by: java.sql.SQLException: ORA-01791: not a selected expression
... 64 more

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
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:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:922)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1122)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:973)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1244)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3469)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3514)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342)
at com.seeburger.smarti.dao.SmartiPreparedStatement$2.execute(SmartiPreparedStatement.java:226)
at com.seeburger.smarti.dao.SmartiPreparedStatement.doExecute(SmartiPreparedStatement.java:145)
at com.seeburger.smarti.dao.SmartiPreparedStatement.executeQuery(SmartiPreparedStatement.java:221)
at com.seeburger.smarti.dao.AbstractDAOImpl.getDistinctValues(AbstractDAOImpl.java:176)
... 65 more

I tried both, the thin driver and the oci driver with the newest ojdbc14.jat - version. But it's the same result. Tracing the ojcdb-execution with the ojdbc14_g.jar I get the following output:

FEIN: LogicalConnection.registerHeartbeat()
17.12.2009 08:38:22 oracle.jdbc.driver.OracleStatement executeMaybeDescribe
FEIN: OracleStatement.execute_maybe_describe() rowPrefetchChanged = false, needToParse = true, needToPrepareDefineBuffer = true, columnsDefinedByUser = false
17.12.2009 08:38:22 oracle.jdbc.driver.OraclePreparedStatement cleanOldTempLobs
FEINER: OraclePreparedStatement.cleanOldTempLobs( m_batchStyle: 0 currentRank: 0 batch: 1
17.12.2009 08:38:22 oracle.jdbc.driver.OraclePreparedStatement cleanOldTempLobs
FEINER: OraclePreparedStatement.cleanOldTempLobs calls super
17.12.2009 08:38:22 oracle.jdbc.driver.OracleStatement cleanOldTempLobs
FEINER: OracleStatement.cleanOldTempLobs
17.12.2009 08:38:22 oracle.jdbc.driver.OracleSql getSql
FEINER: OracleSql.getSql(true, false): recomputing...
17.12.2009 08:38:22 oracle.jdbc.driver.DatabaseError ErrorToSQLState
FEIN: DatabaseError.ErrorToSQLState(1791)
17.12.2009 08:38:22 oracle.jdbc.driver.DatabaseError throwSqlException
FEIN: DatabaseError.throwSqlException(reason="ORA-01791: not a selected expression
", sqlState=42000, vendorCode=1791)
17.12.2009 08:38:22 oracle.jdbc.driver.OraclePreparedStatement clearParameters
FEIN: OraclePreparedStatement.clearParameters()
17.12.2009 08:38:22 oracle.jdbc.driver.OracleStatement closeOrCache
FEIN: OracleStatement.closeOrCache(null)
17.12.2009 08:38:22 oracle.jdbc.driver.LRUStatementCache getCacheSize
FEIN: getCacheSize(), returning 0

Can anyone help me? I think this is an bug in the ojdbc14, but I am not sure.

Thanks.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 15 2010
Added on Dec 18 2009
1 comment
766 views