我所建的表中有一个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

解决方案 »

  1.   

    org.apache.jasper.JasperException: javax.servlet.ServletException: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 binary 到 TIMESTAMP 的转换。 
    你转换错误啦
    不允许 从 二进制 到timestamp的 数据类型转换检查 这里
      

  2.   

    但是我存储的是timestamp类型的,为什么会变成二进制类型的,我用的是sqlserver2005数据库
      

  3.   

    com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 binary 到 TIMESTAMP 的转换。 应该是由于你底层数据库是timestamp的,而你的mapping是binary的,导致在存取数据的时候发生冲突。
      

  4.   

    我用的是SQL Server 2005数据库,有timestamp这个数据类型,那我应该如何获取这个字段信息呢?
      

  5.   

    1.我是在一个留言板项目中用到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);
      

  6.   

    (2)Timestamp ts=rs.getTimestamp("gst_time"); 
    long lms=ts.getTime(); 
    Date date=new Date(lms); 
    Time time=new Time(lms);
    这个地方ts做了转换了
      

  7.   

    org.apache.jasper.JasperException: javax.servlet.ServletException: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 binary 到 TIMESTAMP 的转换。 
    你转换错误啦 
    不允许 从 二进制 到timestamp的 数据类型转换 检查 这里
      

  8.   

    你在查询的时候就进行转化试试,应该是可以解决你的问题的!
    把你的sql语句改成:select 列名...,year(convert(datetime,tamestamp列,120))  from guestbook order by gst_time desc
    然后在进行读取看看.