Java 示例FastLoad1.csv文件应该是什么样子?
我试着跟着这个 除了这条线,一切都很好Java 示例FastLoad1.csv文件应该是什么样子?,java,jdbc,teradata,Java,Jdbc,Teradata,我试着跟着这个 除了这条线,一切都很好 pstmtFld.setAsciiStream(1, dataStream, -1); 它抛出SQL异常 我怀疑我创建的示例FastLoad1.csv文件与他们的示例不一致。但是,我尝试创建一个非常简单的文件,其中包含完全相同的字段。这是我的FastLoad1.csv L_INDEX,L_TIMESTAMP,L_TEXT 1,01/01/13,testText 2,01/01/13,testText 3,01/01/13,
pstmtFld.setAsciiStream(1, dataStream, -1);
它抛出SQL异常
我怀疑我创建的示例
FastLoad1.csv
文件与他们的示例不一致。但是,我尝试创建一个非常简单的文件,其中包含完全相同的字段。这是我的FastLoad1.csv
L_INDEX,L_TIMESTAMP,L_TEXT
1,01/01/13,testText
2,01/01/13,testText
3,01/01/13,testText
4,01/01/13,testText
它是正确的csv文件。它与示例程序一致吗?如果是,为什么会抛出异常
这是错误消息
Attempting connection to Teradata with FastLoadCSV.
Connection to Teradata with FastLoadCSV established.
Creating a PreparedStatement object with FastLoadCSV.
Created a PreparedStatement object with FastLoadCSV.
Checking connection for warnings
Streaming FastLoad1.csv
SQL State = HY000, Error Code = 1151
com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata JDBC Driver] [TeraJDBC 14.10.00.17] [Error 1151] [SQLState HY000] A failure occurred while setting a parameter value for database table "xxxxxxxxx"."my_table". Details of the failure can be found in the exception chain that is accessible with getNextException.
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:93)
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:68)
at com.teradata.jdbc.jdbc.fastload.FastLoadManagerPreparedStatement.setAsciiStream(FastLoadManagerPreparedStatement.java:1366)
at T20208JD.main(T20208JD.java:160)
SQL State = HY000, Error Code = 1155
com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata JDBC Driver] [TeraJDBC 14.10.00.17] [Error 1155] [SQLState HY000] The next failure(s) in the exception chain occurred in FastLoadPreparedStatement[0] of 16 FastLoadPreparedStatement(s).
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:93)
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:73)
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:101)
at com.teradata.jdbc.jdbc.fastload.FastLoadManagerPreparedStatement.setAsciiStream(FastLoadManagerPreparedStatement.java:1361)
at T20208JD.main(T20208JD.java:160)
SQL State = HY000, Error Code = 1093
com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata JDBC Driver] [TeraJDBC 14.10.00.17] [Error 1093] [SQLState HY000] This method is not implemented
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:93)
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:63)
at com.teradata.jdbc.jdbc.fastload.FastLoadPreparedStatement.setAsciiStream(FastLoadPreparedStatement.java:759)
at com.teradata.jdbc.jdbc.fastload.FastLoadManagerPreparedStatement.setAsciiStream(FastLoadManagerPreparedStatement.java:1359)
at T20208JD.main(T20208JD.java:160)
SQL State = HY000, Error Code = 1151
com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata JDBC Driver] [TeraJDBC 14.10.00.17] [Error 1151] [SQLState HY000] A failure occurred while setting a parameter value for database table "xxxxxxxx"."my_table". Details of the failure can be found in the exception chain that is accessible with getNextException.
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:93)
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:68)
at com.teradata.jdbc.jdbc.fastload.FastLoadManagerPreparedStatement.setAsciiStream(FastLoadManagerPreparedStatement.java:1366)
at T20208JD.main(T20208JD.java:160)
SQL State = HY000, Error Code = 1155
com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata JDBC Driver] [TeraJDBC 14.10.00.17] [Error 1155] [SQLState HY000] The next failure(s) in the exception chain occurred in FastLoadPreparedStatement[0] of 16 FastLoadPreparedStatement(s).
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:93)
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:73)
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:101)
at com.teradata.jdbc.jdbc.fastload.FastLoadManagerPreparedStatement.setAsciiStream(FastLoadManagerPreparedStatement.java:1361)
at T20208JD.main(T20208JD.java:160)
SQL State = HY000, Error Code = 1093
com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata JDBC Driver] [TeraJDBC 14.10.00.17] [Error 1093] [SQLState HY000] This method is not implemented
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:93)
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:63)
at com.teradata.jdbc.jdbc.fastload.FastLoadPreparedStatement.setAsciiStream(FastLoadPreparedStatement.java:759)
at com.teradata.jdbc.jdbc.fastload.FastLoadManagerPreparedStatement.setAsciiStream(FastLoadManagerPreparedStatement.java:1359)
at T20208JD.main(T20208JD.java:160)
Exception in thread "main" java.lang.IllegalStateException: Sample failed.
at T20208JD.main(T20208JD.java:336)
是的,这是正确的csv文件。 但是,如果要生成csv格式的虚拟数据, 这里有一个链接
可能对你有用 L_TIMESTAMP应该是一个时间戳,但它是CSV中的一个日期。而且可能格式不正确。执行“显示表格”并检查格式,然后相应地修改数据或将其添加到插入:
VALUES(?,? (TIMESTAMP, FORMAT 'mm/dd/yy'),?)
当你使用两位数的年份时,你可能得不到预期的世纪(基于一些dbscontrol设置)谢谢,我更改了它,甚至修改为常规的VARCHAR,但仍然会得到与
setAscistream
相同的错误,返回了哪个错误?为什么不使用samples.jar中找到的FastLoad1.csv进行尝试呢?文件中的数据看起来像12010-08-11 13:19:05.1,一些文本谢谢我没有注意到那个文件。我尝试过使用它,但得到了相同的例外情况,我想因为已经有一个示例文件,所以示例文件没有问题,问题在于setAscii
您仍然没有显示错误消息,这可能有助于调试,