【问题标题】:connection exception :CannotGetJdbcConnectionException: Could not load JDBC driver class ["com.microsoft.sqlserver.jdbc.SQLServerDriver";]连接异常:CannotGetJdbcConnectionException:无法加载 JDBC 驱动程序类 ["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>

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

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

谢谢, -迪帕克

【问题讨论】:

    标签: sql-server-2008 class jdbc driver


    【解决方案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:你到底做了哪些改变?我也面临同样的问题
    猜你喜欢
    • 2015-06-19
    • 1970-01-01
    • 2015-07-22
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2017-05-17
    相关资源
    最近更新 更多