gpt4 book ai didi

java - Tomcat 不加载库

转载 作者:行者123 更新时间:2023-11-28 23:02:54 26 4
gpt4 key购买 nike

我的 Tomcat(通过 Eclipse 运行)似乎无法加载 SQL Server 驱动程序库:

 java.lang.NullPointerException
java.lang.RuntimeException
at org.ktu.gdia.core.MainController.processFile(MainController.java:132)
at org.ktu.gdia.core.MainController.run(MainController.java:57)
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://isd.ktu.lt:1433;DatabaseName=LN2012_bakDB2
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1185)
at org.apache.tomcat.dbcp.dbcp.PoolingDriver.connect(PoolingDriver.java:180)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.ktu.gdia.database.DbActions.openConn(DbActions.java:64)
at org.ktu.gdia.core.MainController.processFile(MainController.java:134)
at org.ktu.gdia.core.MainController.run(MainController.java:57)
Exception in thread "Thread-2" java.lang.NullPointerException
at org.ktu.gdia.database.GenForestDatabase.personExists(GenForestDatabase.java:178)
at org.ktu.gdia.core.MainController.processFile(MainController.java:158)
at org.ktu.gdia.core.MainController.run(MainController.java:57)

sqljdbc.jar 和 sqljdb4.jar 以及 jtds-1.3.0.jar 在 Tomcat/lib 目录中。我正在使用 Tomcat 7。Eclipse 是否有可能使 Tomcat 使用与它应该使用的 Tomcat 7 中的目录不同的 lib 目录?

最佳答案

您不需要所有这些 JAR,只需要您真正想要加载的那个。它出现在 Microsoft 驱动程序中,而不是 jTDS。

我不知道 Eclipse 在做什么,但 Tomcat 期望从它的/lib 目录加载 JDBC 驱动程序 JAR。

我不同意问题是未能加载驱动程序。 “没有合适的驱动程序”通常意味着连接字符串中的 URL 语法不正确。

你有

jdbc:microsoft:sqlserver://isd.ktu.lt:1433;DatabaseName=LN2012_bakDB2

This URL 建议采用以下格式:

jdbc:sqlserver://host:1433;databaseName=dbNameHere;integratedSecurity=true;

如果 URL 看起来是正确的,我将开始检查其他内容:

  1. 您能否从运行 Java 应用程序的服务器 ping 服务器 isd.ktu.lt?如果您看不到服务器,Java 也看不到。
  2. 您能否使用 Microsoft SQL Server Studio 成功连接到该服务器?如果它不能,Java 也不会。
  3. 您确定 SQL Server 监听器配置为监听默认端口 1433 吗?出于安全原因,许多 DBA 选择默认设置以外的内容。
  4. 看起来您正在使用数据库连接池,您应该这样做。查看您的 JNDI configuration是正确的。

这是成功连接到 SQL Server 的应用的配置:

    <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://host:port;databaseName=db"/>

关于java - Tomcat 不加载库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15505680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com