【问题标题】:Could not open connection [n/a] java.sql.SQLException: No suitable driver found无法打开连接 [n/a] java.sql.SQLException: 找不到合适的驱动程序
【发布时间】:2017-07-02 18:59:32
【问题描述】:

我正在尝试使其工作在 jdbc 连接上。 在我连接到数据源之后。

<beans profile="devRemote">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mariadb://192.168.0.59:3307/DEVDB" />
    <property name="username" value="maria" />
    <property name="password" value="maria" />
</bean>
</beans>
<beans profile="live">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mariadb://127.0.0.1:3307/DEVDB" />
    <property name="username" value="root" />
    <property name="password" value="" />
</bean> 
</beans>

有趣的是,我的“devRemote”配置文件适用于此配置,而我使用“实时”配置文件的连接不适用。

我正在做的是在这台服务器 (192.168.0.59) 中部署我的 webapp(使用 tomcat 容器),这也是我的数据库服务器(mariadb 正在运行的地方)。

我得到的连接错误是:

 2017-07-02 20:15:55 DEBUG SqlExceptionHelper:139 - Could not open connection [n/a]
java.sql.SQLException: No suitable driver found for jdbc:mariadb://127.0.0.1:3307/DEVDB

我检查了部署的包,它包含 JAR (mariadb-java-client-2.0.3.jar)

我很困惑,我不明白这个错误,因为只有一个数据库,两种配置(devRemote 和 live)的驱动程序应该相同

我还仔细检查了 root 用户的权限,我验证了使用 usr="root" 和 pwd="" 访问 mysql 命令行。

感谢任何帮助。

【问题讨论】:

    标签: mysql spring tomcat jdbc


    【解决方案1】:

    mariadb 的 driverClassName 是 org.mariadb.jdbc.Driver 而不是 com.mysql.jdbc.Driver。最后一个是 MySQL 数据库。

    【讨论】:

      猜你喜欢
      • 2012-06-01
      • 2013-07-04
      • 2016-11-28
      • 2011-08-02
      • 2012-08-28
      • 2015-07-05
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多