我的机安装了vs2008、sql2005前几天在学习java时发生了异常问题:(我装的是myEclipse7.0、jdk6.0、tomcat6.0,在运行jsp业面时,连接数据库正常,但是程序执行到PreparedStatement时就报异常了,程序不往下走了、、、后来我改了tomcat的端口号,jsp业面能正常运行了,但是在实体类中我测试我写的方法时,虽然代码能执行成功但是原来的哪个异常还是存在、、、)真的搞不懂到底是那里出了问题? 异常信息如下:(希望各位大侠们帮忙解决一下)
Exception in thread "main" java.lang.SecurityException: SHA1 digest error for com/microsoft/sqlserver/jdbc/SQLServerStatement.class
at sun.security.util.ManifestEntryVerifier.verify(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarVerifier$VerifierStream.read(Unknown Source)
at sun.misc.Resource.getBytes(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement(Unknown Source)
at com.leffort.biz.checkUser.getTitleList(checkUser.java:53)
at com.leffort.biz.checkUser.main(checkUser.java:76)

解决方案 »

  1.   

    1 先试下重启你的sql2005
    2 可能是你的包有重复的(不同版本)。以前貌似遇到过这样的错误。
    建议楼主用比较成熟的工具,别用最新的,最新的一般不稳定
      

  2.   

    好像是 JDBC 驱动程序包坏掉了呢,出现了签名校验错误,你重加找个 JDBC 驱动再看看。
      

  3.   

    我也遇到类似情况,楼主调试看一下运行到PreparedStatement是不是Connection对象是否为空,如果是的话,那就是连接的问题了。。
      

  4.   

    别用微软的驱动,有开源的连接sqlserver 的驱动,忘什么名字了,你试试