提问人:Alireza Fattahi 提问时间:10/28/2023 最后编辑:Alireza Fattahi 更新时间:10/28/2023 访问量:48
Tomcat jdbc 池显示 ClassNotFoundException,但工作正常
Tomcat jdbc pool shows ClassNotFoundException but works
问:
要在 Tomcat 9 中为 Microsoft SQLServer 配置 JDBC 池,我在下面添加了server.xml
<Resource auth="Container"
type="javax.sql.DataSource" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/SABA"
defaultAutoCommit="true"
username="user" password="pass" url="jdbc:sqlserver://myserver:1433;DatabaseName=mydb;" />
在 tomcat 启动期间,我得到了很多ClassNotFoundException
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
这显然是正常的,因为我没有将 SQL Server 驱动程序复制到 Tomcat 库中,但是在应用程序启动后,池正在工作,我可以从中获取连接。我的应用程序中有 SQL Server 驱动程序。WEB-INF\lib
这是默认行为吗?如果这是正常的,我可以在 Tomcat 启动期间抑制异常吗?
答: 暂无答案
评论
java.sql.SQLException: No suitable driver found for jdbc:sqlserver://...
jdbc/SABA
DriverManager
name="jdbc/BadName
Name [SABA] is not bound in this Context. Unable to find [SABA].