com.microsoft.sqlserver.jdbc.SQLServerDriver未找到错误 [英] com.microsoft.sqlserver.jdbc.SQLServerDriver not found error
问题描述
我正在尝试从Java连接到我的SQL Server 2008数据库,我遇到了同样的问题并将其放在我的WEB-INF / lib中,然后将我的CLASSPATH变量设置为该位置。仍然,同样的问题正在发生。
Edit2:没关系,完全重新安装Eclipse使它工作。这非常令人沮丧...
您在类路径中不需要jTDS和JDBC。任何一个都是必需的。在这里你只需要 sqljdbc.jar
。
另外,我建议放置 sqljdbc .jar
在物理位置到 / WEB-INF / lib
项目目录,而不是通过IDE在Classpath中添加它。然后Tomcat会照顾其余部分。并尝试重新启动Tomcat。
您可以从以下网址下载Jar: www.java2s.com/Code/JarDownload/sqlserverjdbc/sqlserverjdbc.jar.zip
编辑:
当您在连接时提供用户名和密码时,
您只需要 jdbc:sqlserver :// localhost:1433; databaseName = test
,跳过 integratedSecurity
属性。
I am trying to connect to my SQL Server 2008 database from Java and I'm having the same problem from this thread.
String userName = "xxxx";
String password = "xxxx";
String url = "jdbc:sqlserver:xxx.xxx.xxx.xxx;databaseName=asdfzxcvqwer;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
connection = DriverManager.getConnection(url, userName, password);
I keep getting a ClassNotFoundException
Whenever I try to load the driver from Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at repositories.RepositoryBase.<init>(RepositoryBase.java:22)
at repositories.ProductsRepository.<init>(ProductsRepository.java:13)
at api.Products.init(Products.java:31)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865)
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:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
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:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
I've made sure the necessary jdbc and jtds drivers are added to the library and CLASSPATH is set as well. I'm honestly not sure what went wrong here.
Edit: Upon suggestion, I tried to download this jdbc jar and place it in my WEB-INF/lib, then set my CLASSPATH variable to that location. Still, the same problem is happening.
Edit2: Never mind, completely reinstalling Eclipse made it work. This is pretty frustrating...
You dont need both jTDS and JDBC in your classpath. Any one is required. Here you need only sqljdbc.jar
.
Also, I would suggest to place sqljdbc.jar
at physical location to /WEB-INF/lib
directory of your project rather than adding it in the Classpath via IDE. Then Tomcat takes care the rest. And also try restarting Tomcat.
You can download Jar from : www.java2s.com/Code/JarDownload/sqlserverjdbc/sqlserverjdbc.jar.zip
EDIT:
As you are supplying Username and Password when connecting,
You need only jdbc:sqlserver://localhost:1433;databaseName=test
, Skip integratedSecurity
attribute.
这篇关于com.microsoft.sqlserver.jdbc.SQLServerDriver未找到错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!