我所建的表中有一个timestamp类型的变量,然后在访问时就出现了下面的问题,这是怎么回事?
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: javax.servlet.ServletException: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 binary 到 TIMESTAMP 的转换。
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:532)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.sunxin.lesson.jsp.ch20.LogonFilter.doFilter(LogonFilter.java:109)
root cause javax.servlet.ServletException: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 binary 到 TIMESTAMP 的转换。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:855)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:784)
org.apache.jsp.index_jsp._jspService(index_jsp.java:201)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.sunxin.lesson.jsp.ch20.LogonFilter.doFilter(LogonFilter.java:109)
root cause com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 binary 到 TIMESTAMP 的转换。
com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(Unknown Source)
com.microsoft.sqlserver.jdbc.DTV.getValue(Unknown Source)
com.microsoft.sqlserver.jdbc.Column.getValue(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(Unknown Source)
org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:261)
org.apache.jsp.index_jsp._jspService(index_jsp.java:174)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.sunxin.lesson.jsp.ch20.LogonFilter.doFilter(LogonFilter.java:109)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.10
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: javax.servlet.ServletException: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 binary 到 TIMESTAMP 的转换。
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:532)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.sunxin.lesson.jsp.ch20.LogonFilter.doFilter(LogonFilter.java:109)
root cause javax.servlet.ServletException: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 binary 到 TIMESTAMP 的转换。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:855)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:784)
org.apache.jsp.index_jsp._jspService(index_jsp.java:201)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.sunxin.lesson.jsp.ch20.LogonFilter.doFilter(LogonFilter.java:109)
root cause com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 binary 到 TIMESTAMP 的转换。
com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(Unknown Source)
com.microsoft.sqlserver.jdbc.DTV.getValue(Unknown Source)
com.microsoft.sqlserver.jdbc.Column.getValue(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(Unknown Source)
org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:261)
org.apache.jsp.index_jsp._jspService(index_jsp.java:174)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.sunxin.lesson.jsp.ch20.LogonFilter.doFilter(LogonFilter.java:109)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.10
你转换错误啦
不允许 从 二进制 到timestamp的 数据类型转换检查 这里
2、用到的语句如下:
(1)ResultSet rs=stmt.executeQuery("select * from guestbook order by gst_time desc"); (2)Timestamp ts=rs.getTimestamp("gst_time");
long lms=ts.getTime();
Date date=new Date(lms);
Time time=new Time(lms);
long lms=ts.getTime();
Date date=new Date(lms);
Time time=new Time(lms);
这个地方ts做了转换了
你转换错误啦
不允许 从 二进制 到timestamp的 数据类型转换 检查 这里
把你的sql语句改成:select 列名...,year(convert(datetime,tamestamp列,120)) from guestbook order by gst_time desc
然后在进行读取看看.