[ 
https://issues.apache.org/jira/browse/SQOOP-2737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15052791#comment-15052791
 ] 

Jakub Havlík commented on SQOOP-2737:
-------------------------------------

I've tested it and the same error is still there. You can find my output in the 
attachment. I've looked into the source code and it looks like the column name 
escaping is missing in OraOopDBRecordReader.java in method getSelectQuery():
{code:java}
query.append(getColumnNamesClause(tableColumns, dataChunk.getId())) // <-
                                                                     // SELECT
                                                                     // clause
          .append("\n");
{code}
because I cannot see any escaping in private method getColumnNamesClause(). 
Could that be the issue?

> Cannot import table from Oracle with column with spaces in name
> ---------------------------------------------------------------
>
>                 Key: SQOOP-2737
>                 URL: https://issues.apache.org/jira/browse/SQOOP-2737
>             Project: Sqoop
>          Issue Type: Bug
>          Components: connectors/oracle
>    Affects Versions: 1.4.5
>            Reporter: Jakub Havlík
>            Priority: Critical
>         Attachments: options.txt, oracleDataCreate.sql, stdout.txt, syslog.txt
>
>
> When importing database containing table(s) with spaces in column name(s) 
> following error is displayed:
> {code}
> Error: java.io.IOException: SQLException in nextKeyValue
>       at 
> org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277)
>       at 
> org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553)
>       at 
> org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80)
>       at 
> org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91)
>       at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
>       at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
>       at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:422)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
>       at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
> Caused by: java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not 
> found where expected
>       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
>       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
>       at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
>       at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
>       at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
>       at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
>       at 
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
>       at 
> oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
>       at 
> oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
>       at 
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
>       at 
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
>       at 
> oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
>       at 
> oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
>       at 
> org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111)
>       at 
> org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235)
>       ... 11 more
> {code}
> As a enterprise user I would expect that I can import tables with spaces in a 
> column name with no issues.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to