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

Attachment: signature.asc
Description: Digital signature

Reply via email to