java.sql.SQLException:ORA-01861:文本与格式字符串不匹配
对于java中的sql查询,我得到以下异常java.sql.SQLException:ORA-01861:文本与格式字符串不匹配,java,jdbc,Java,Jdbc,对于java中的sql查询,我得到以下异常 statement2.executeUpdate("INSERT INTO visit_header " + "VALUES ('"+visitnumber+"','"+date+"','"+cookie+"','"+ip+"','"+duration+"','"+pageref +"','"+startpagename+"','"+endpagename+"','"+pgvw+"','"+starttime+"','"+endtime+"','"
statement2.executeUpdate("INSERT INTO visit_header "
+ "VALUES ('"+visitnumber+"','"+date+"','"+cookie+"','"+ip+"','"+duration+"','"+pageref
+"','"+startpagename+"','"+endpagename+"','"+pgvw+"','"+starttime+"','"+endtime+"','"
+country+"','"+state+"','"+city+"','"+browser+"','"+os+"','"+device+"')");
例外情况是:
java.sql.SQLException: ORA-01861: literal does not match format string.
我不会走错方向
谢谢。可能在您的字段中,如pgvw contain'或\,或者您的日期和开始时间在使用之前没有格式化。首先,您确实不应该通过连接字符串来生成SQL语句。这使您容易受到SQL注入黑客的攻击。您应该使用PreparedStatement并设置值,这样JDBC就可以正确地转义它们 该错误很可能是由于starttime和endtime的格式错误。您可能需要显示堆栈跟踪以及尝试插入的一些示例数据。我建议尝试在这行代码后面加一个分隔符,复制生成的连接字符串,然后直接在数据库中运行它。这一行对您没有帮助??