Uploaded image for project: 'Sqoop'
  1. Sqoop
  2. SQOOP-1722

JDBCDriverException when trying to impart table from SAP BW to Hadoop. Table consists of frontslash( / ).

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Open
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 1.4.5
    • Fix Version/s: None
    • Component/s: sqoop2-shell
    • Labels:
      None

      Description

      JDBCDriverException when trying to impart table from SAP BW to Hadoop. Table consists of frontslash( / ).

      Schema name: TestSchema
      Table name:/BIC/AZDSOV1_100
      Sqoop command: sqoop import --connect jdbc:sap://xxx:30015 --username xxxx --password xxxx --driver com.sap.db.jdbc.Driver -m 1 --table "TestSchema./BIC/AZDSOV1_100" --target-dir /sqoop/output_BW_Table

      Question:
      How to resolve table name consisting of special characters like frontslash( / )?

      Error log:
      14/11/13 16:55:20 INFO manager.SqlManager: Using default fetchSize of 1000
      14/11/13 16:55:20 INFO tool.CodeGenTool: Beginning code generation
      14/11/13 16:55:20 ERROR manager.SqlManager: Error executing statement: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "\": line 1 col 17 (at pos 17)
      com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "\": line 1 col 17 (at pos 17)
      at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.createException(SQLExceptionSapDB.java:334)
      at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:174)
      at com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:100)
      at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:1141)
      at com.sap.db.jdbc.CallableStatementSapDB.sendCommand(CallableStatementSapDB.java:1964)
      at com.sap.db.jdbc.StatementSapDB.sendSQL(StatementSapDB.java:978)
      at com.sap.db.jdbc.CallableStatementSapDB.doParse(CallableStatementSapDB.java:256)
      at com.sap.db.jdbc.CallableStatementSapDB.constructor(CallableStatementSapDB.java:215)
      at com.sap.db.jdbc.CallableStatementSapDB.<init>(CallableStatementSapDB.java:125)
      at com.sap.db.jdbc.CallableStatementSapDBFinalize.<init>(CallableStatementSapDBFinalize.java:31)
      at com.sap.db.jdbc.ConnectionSapDB.prepareStatement(ConnectionSapDB.java:1390)
      at com.sap.db.jdbc.trace.Connection.prepareStatement(Connection.java:347)
      at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:525)
      at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:548)
      at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:191)
      at org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:175)
      at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:262)
      at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1235)
      at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1060)
      at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82)
      at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:390)
      at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:476)
      at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
      at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
      at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
      at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
      at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
      at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
      at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57)
      14/11/13 16:55:20 ERROR manager.SqlManager: Error executing statement: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "\": line 1 col 17 (at pos 17)
      com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "\": line 1 col 17 (at pos 17)
      at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.createException(SQLExceptionSapDB.java:334)
      at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:174)
      at com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:100)
      at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:1141)
      at com.sap.db.jdbc.CallableStatementSapDB.sendCommand(CallableStatementSapDB.java:1964)
      at com.sap.db.jdbc.StatementSapDB.sendSQL(StatementSapDB.java:978)
      at com.sap.db.jdbc.CallableStatementSapDB.doParse(CallableStatementSapDB.java:256)
      at com.sap.db.jdbc.CallableStatementSapDB.constructor(CallableStatementSapDB.java:215)
      at com.sap.db.jdbc.CallableStatementSapDB.<init>(CallableStatementSapDB.java:125)
      at com.sap.db.jdbc.CallableStatementSapDBFinalize.<init>(CallableStatementSapDBFinalize.java:31)
      at com.sap.db.jdbc.ConnectionSapDB.prepareStatement(ConnectionSapDB.java:1390)
      at com.sap.db.jdbc.trace.Connection.prepareStatement(Connection.java:347)
      at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:525)
      at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:548)
      at org.apache.sqoop.manager.SqlManager.getColumnNamesForRawQuery(SqlManager.java:126)
      at org.apache.sqoop.manager.SqlManager.getColumnNames(SqlManager.java:110)
      at org.apache.sqoop.orm.ClassWriter.getColumnNames(ClassWriter.java:1207)
      at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1062)
      at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82)
      at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:390)
      at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:476)
      at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
      at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
      at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
      at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
      at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
      at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
      at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57)
      14/11/13 16:55:20 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
      java.lang.NullPointerException
      at org.apache.sqoop.orm.ClassWriter.cleanColNames(ClassWriter.java:1045)
      at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1066)
      at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82)
      at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:390)
      at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:476)
      at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
      at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
      at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
      at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
      at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
      at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
      at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57)

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              SmartShine Shine
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated: