HiChun-fan, would you mind sharing with us entire Sqoop log generated with parameter --verbose? Are you using build-in Microsoft SQL Connector or connector provided by Microsoft?
Jarcec On Tue, Dec 04, 2012 at 05:51:31PM +0800, Chun-fan Ivan Liao wrote: > Hi, > > > > We are using Sqoop 1.3.0-cdh3u4 with Hadoop version 1.0.3. > > > > We encountered the following error when we try to export HDFS file into > MSSQL 2005 (partially): > > > > 12/12/04 16:44:13 INFO mapred.JobClient: Task Id : > attempt_201212041541_0014_m_000000_2, Status : FAILED > > java.io.IOException: com.microsoft.sqlserver.jdbc.SQLServerException: > Incorrect syntax near ','. > > at > com.cloudera.sqoop.mapreduce.AsyncSqlRecordWriter.close(AsyncSqlRecordWriter.java:195) > > at > org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:651) > > at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:766) > > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) > > at org.apache.hadoop.mapred.Child$4.run(Child.java:255) > > at java.security.AccessController.doPrivileged(Native Method) > > at javax.security.auth.Subject.doAs(Subject.java:416) > > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) > > at org.apache.hadoop.mapred.Child.main(Child.java:249) > > Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect > syntax near ','. > > at > com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197) > > at > com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493) > > at > com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:390) > > at > com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340) > > at > com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575) > > at > com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400) > > at > com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179) > > at > com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154) > > at > com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:322) > > at > com.cloudera.sqoop.mapreduce.AsyncSqlOutputFormat$AsyncSqlExecThread.run(AsyncSqlOutputFormat.java:234) > > > > The HDFS file that we want to export was imported using sqoop from SQL 2005 > before and uses ‘|’ as field delimiter, and there are commas (‘,’) in a > field of a line in the file. > > > > The commands I submitted is (generalized with capital letters): > > $ sqoop export -D sqoop.export.records.per.statement=75 -D > sqoop.export.statements.per.transaction=75 --connect > "jdbc:sqlserver://SERVER-NAME:1433;username=USER_NAME;password=PASSWD;database=DB_NAME" > --table TABLE_NAME -m 1 --input-fields-terminated-by '|' --export-dir > /EXPORT/FROM/DIRECTORY > > > > I’ve adjusted values of sqoop.export.records.per.statement & > sqoop.export.statements.per.transaction, but that didn’t help. > > > > It will be greatly appreciated if you can offer some help. Thanks. > > > > Ivan
signature.asc
Description: Digital signature
