连接异常:CannotGetJdbcConnectionException:无法加载 JDBC 驱动程序类 ["com.microsoft.sqlserver.jdbc.SQLServerD

Posted

技术标签:

【中文标题】连接异常:CannotGetJdbcConnectionException:无法加载 JDBC 驱动程序类 ["com.microsoft.sqlserver.jdbc.SQLServerDriver";]【英文标题】:connection exception :CannotGetJdbcConnectionException: Could not load JDBC driver class ["com.microsoft.sqlserver.jdbc.SQLServerDriver";] 【发布时间】:2013-06-30 11:30:55 【问题描述】:

我在 struts 1.3 中有一个 web 应用程序,其中包含作为 ORM 的 hibernate 和作为上下文加载 AOP 的 spring,或者它是一般使用的。 我正在尝试将它部署在 tomcat 6.0 服务器中。早些时候它连接到 mysql 并且工作正常,但现在我想将它与 MS Sql server 2008 连接,所以我下载了“sqljdbc”和“sqljdbc4”jar 并将其放入“C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\web1\WEB-INF\lib" 我系统的位置。我的系统中安装了 java 7。当我尝试运行时,它给出了异常:

org.apache.jasper.JasperException: org.springframework.beans.factory.BeanCreationException: 创建 ServletContext 资源 [/WEB-INF/applicationContext-hibernate.xml] 中定义的名称为“dataSource”的 bean 时出错:错误设置属性值;嵌套异常是 org.springframework.beans.PropertyAccessExceptionsException: PropertyAccessExceptionsException (1 errors);嵌套的 propertyAccessExceptions 是:[org.springframework.beans.MethodInvocationException: Property 'driverClassName' throw exception;嵌套异常是 org.springframework.jdbc.CannotGetJdbcConnectionException: 无法加载 JDBC 驱动程序类 ["com.microsoft.sqlserver.jdbc.SQLServerDriver";];嵌套异常是 java.lang.ClassNotFoundException: "com/microsoft/sqlserver/jdbc/SQLServerDriver";]

我的 jdbc 属性文件条目是:

jdbc.driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
jdbc.url="jdbc:sqlserver://localhost:1433/databaseName=DB_1"
jdbc.username="dipak";
jdbc.password="";

hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect

ApplicationContext-Hibernate.xml

条目是:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="$jdbc.driverClassName" />
    <property name="url" value="$jdbc.url" />
    <property name="username" value="$jdbc.username" />
    <property name="password" value="$jdbc.password" />
</bean>

请帮我解决这个问题,我谷歌了很多,尝试了很多解决方案,但还没有成功,所以任何帮助都将不胜感激。

如果您需要任何其他/更多信息,请告诉我。

谢谢, -迪帕克

【问题讨论】:

【参考方案1】:

该 JAR 的位置错误。 Tomcat 6 及更高版本希望在 Tomcat 服务器 /lib 中找到它,而不是在您的应用程序 WEB-INF/lib 中。移动它,你会看到更好的结果。

确保您的 URL 语法正确:

http://msdn.microsoft.com/en-us/library/ms378428(v=sql.90).aspx

【讨论】:

感谢您的快速响应,但我已将它(sqljdbc 和“sqljdbc4”jar)放在两个地方,即“C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib”和“ C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\web1\WEB-INF\lib" 但得到相同的异常。 不,不是两个地方。只有一个:Tomcat /lib。从 WEB-INF/lib 中删除它。 实际上我得到了它的工作。我在我的 JDBC 属性文件中犯了一个错误,我在双引号 ("") 下给出了所有连接属性,这是不正确的方法,这是我正在做的错误。现在我纠正了它并让它工作了。 @user2536341:你到底做了哪些改变?我也面临同样的问题

以上是关于连接异常:CannotGetJdbcConnectionException:无法加载 JDBC 驱动程序类 ["com.microsoft.sqlserver.jdbc.SQLServerD的主要内容,如果未能解决你的问题,请参考以下文章

使用RDP连接 提示协议代理连接异常 怎么回事 怎么解决 求解答 急!!!

平板连接热点显示网络io异常怎么弄?

HSQL连接异常,连接不存在

WCF 的“使用”语句中的异常未正确关闭连接。如何关闭有故障的 WCF 客户端连接或有异常的连接?

C# 频繁调用WebService 产生 “连接远程服务器失败”异常

数据库连接异常