Hisanobu Okuda created TEIID-2192:
-------------------------------------
Summary: Failure to access Oracle data source with column names enclosed in
double quotes
Key: TEIID-2192
URL:
https://issues.jboss.org/browse/TEIID-2192
Project: Teiid
Issue Type: Bug
Components: JDBC Connector
Affects Versions: 7.4.4
Environment: EDS 5.2.0
Reporter: Hisanobu Okuda
Assignee: Steven Hawkins
EDS is throwing an error when accessing Oracle data source with column names enclosed in
double quotes. I am able to import the metadata, test through Datasource explorer but
when i run the query against VDB, it is not interpreting correctly to send double-quotes
to the column name in this case, causing below error.
For example,
1. create table and views as shown below in Oracle database
{code}
create table test(recno number, ref_no varchar2(4000));
create or replace view test_v as select recno as "Rec_Item_Number", ref_no
as "bom_ref_no." from test;
{code}
2. Import test_v data source view into JBoss developer studio
3. deploy and run the query against TEST_V:-
Then, the following exception is thrown:-
{code}
2012-09-05 08:34:39,386 WARN [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue13)
Connector worker process failed for atomic-request=Imx1VPWhia7G.6.0.0
org.teiid.translator.jdbc.JDBCExecutionException: Error Code:1747 Message:'ORA-01747:
invalid user.table.column, table.column, or column specification
' error executing statement(s): [Prepared Values: [] SQL: SELECT c_0, c_1 FROM (SELECT
g_0.Rec_Item_Number AS c_0, g_0.bom_ref_no. AS c_1 FROM
"EII_CACHE"."TEST_V" g_0) WHERE ROWNUM <= 100]
at
org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:90)
at
org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:276)
at
org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:354)
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:143)
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:140)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.teiid.dqp.internal.process.DQPCore$FutureWork.run(DQPCore.java:120)
at
org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:240)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:122)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:292)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.SQLSyntaxErrorException: ORA-01747: invalid user.table.column,
table.column, or column specification
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at
oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)
at
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3628)
at
oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1493)
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342)
at
org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:86)
... 13 more
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira