我在Tomcat下运行了一个webapp,通过jdbc连接到SQL Server Express获取数据。在我第一次用于开发的Vista机器上运行良好。我一直在尝试将它移动到Windows 7机器上,它将在现场运行,但它不起作用,而且我已经没有东西要检查了。需要帮忙。两台机器上的安装(我的部分)似乎完全相同。但我应该提到新机器(它不起作用)有另一个运行的应用程序连接到相同或另一个版本的SQL Server。这是Tomcat日志中的错误。
Allvarlig: StandardWrapper.Throwable
java.lang.NullPointerException
at nu.isr.hll.webshop.core.HLListProcess.initialize(HLListProcess.java:73)
at nu.isr.hll.webshop.servlets.HLListServlet.init(HLListServlet.java:31)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:857)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1813)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
答案 0 :(得分:-1)
jdbc驱动程序未加载。
看起来问题归结为一个有缺陷的Microsoft jdbc驱动程序。根据文档,sqljdbc4不需要显式驱动程序注册。版本4应该自动执行此操作。在Microsoft Vista开发机器上正常工作。但是当我在Windows 7上安装应用程序时它不起作用(它们是两个不同的操作系统,我猜这很重要。)
必须包含Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
现在有效!