-2

我有一个在 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)
4

1 回答 1

-1

未加载 jdbc 驱动程序。

看起来问题归结为有缺陷的 Microsoft jdbc 驱动程序。根据文档,sqljdbc4 不需要显式注册驱动程序。版本 4 应该会自动执行此操作。在 Microsoft Vista 开发机器上运行良好。但是当我在 Windows 7 上安装应用程序时它不起作用(它们是两个不同的操作系统,我猜这很重要。)

必须包括 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

现在它起作用了!

于 2013-02-13T10:32:56.800 回答