在调试此问题时,我遇到了一些奇怪的情况。我正在与一位客户合作,他的服务器由第三方管理,第三方不允许进行任何更改以进行测试,而是要求对任何更改提供正式文档以及我们进行更改的原因,否则更改请求将被拒绝...因此,我必须尝试在无法更改和测试任何内容的情况下得出确切的答案。
因此,你们对这个问题的任何信息/猜测都是有用的。
我正在使用 Java Tomcat 尝试连接到 64 位 MSSQL 2005 服务器,但一直没有成功。这个日志文件是否表明确实没有找到驱动程序,或者是否意味着找到了驱动程序,但连接未被接受?还有其他方法可以解释此错误消息吗?有人告诉我这些连接配置设置适用于其他服务器设置,但出于某种原因,我一直收到以下错误。
我不确定这是否有区别,但 Tomcat 服务器是 32 位的。是否有不同的驱动程序能够连接到 64 位而不是 32 位 MSSQL 2005?
Login session = 5E3673D5B92737D27B9710CE28E37D66
No suitable driver found for jdbc:sqlserver://serverName:1433;DatabaseName=DbName;user=DbUser;password=Password
java.lang.Exception: No suitable driver found for jdbc:sqlserver://serverName:1433;DatabaseName=DbName;user=DbUser;password=Password
at com.medical.ConnectionPool.getConnection(Unknown Source)
at org.apache.jsp.Login_jsp._jspService(Login_jsp.java:135)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.medical.Utilities_Charset_Filter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)
答案1
您还没有到达尝试连接的阶段。您尝试使用的驱动程序存在问题,或者 Tomcat 和驱动程序的配置存在问题。错误消息非常清楚。它找不到驱动程序或无法使用它。