Sam, Did you try the --driver parameter? It allows you to choose the JDBC driver class.
-Abe On Tue, Aug 6, 2013 at 7:54 PM, sam liu <liuqiyun2...@gmail.com> wrote: > I think this is a defect of Sqoop, and opened a jira for it: > https://issues.apache.org/jira/browse/SQOOP-1164. I set the priority as > Minor, because it has the workaround: only leave the target driver jar file > in the sqoop/lib folder, but remove other driver jar files from the folder. > However, it should be mentioned that when we have many dirver jar files > under sqoop/lib folder for multiple kinds of databases, or a script will > connect to different databases, this workaround can not work well. > > Thanks! > > > 2013/8/6 sam liu <liuqiyun2...@gmail.com> > >> Hi Experts, >> >> Under SQOOP/lib, I have both hsqldb driver jar file and mysql driver jar >> file: >> - lib/hsqldb-1.8.0.10.jar >> - lib/mysql-connector-java-5.1.20-bin.jar >> >> But, when I try to connect to mysql db using sqoop import tool, sqoop >> will pick up hsqldb driver jar and returned following exception. Even if I >> add '--connection-manager org.apache.sqoop.manager.MySQLManager' into the >> command, this issue still exists. But, after I removed the hsqldb jar file >> from lib folder, this issue does not exist any more. >> >> Why? What's the correct method to invoke import tool to avoid such issue? >> Thanks! >> >> > bin/sqoop import --connect jdbc:mysql://hostname:3306/test >> --connection-manager org.apache.sqoop.manager.MySQLManager --username user >> --password pwd --table testtbl -m 1 --target-dir /tmp/test5 >> 13/08/05 18:44:03 WARN tool.BaseSqoopTool: Setting your password on the >> command-line is insecure. Consider using -P instead. >> 13/08/05 18:44:03 INFO manager.MySQLManager: Preparing to use a MySQL >> streaming resultset. >> 13/08/05 18:44:03 INFO tool.CodeGenTool: Beginning code generation >> Exception in thread "main" java.lang.NoSuchMethodError: >> org/hsqldb/DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties; >> at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source) >> at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source) >> at java.sql.DriverManager.getConnection(DriverManager.java:402) >> at java.sql.DriverManager.getConnection(DriverManager.java:450) >> at >> org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:745) >> at >> org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) >> at >> org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:605) >> at >> org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:628) >> at >> org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:235) >> at >> org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:219) >> at >> org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:283) >> at >> org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1255) >> at >> org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1072) >> 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:70) >> 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) >> >> -- >> >> Sam Liu >> > > > > -- > > Sam Liu >