数据库连接代码在Linux上运行但不在Windows上运行

时间:2010-08-28 17:37:50

标签: java windows database linux

我们在Linux Ubuntu中运行以下代码,但在Windows XP或Windows 7上运行。

你知道可能是什么问题吗?

以下是代码段:

  if (logger.isDebugEnabled())
  {
      logger.debug("before getting connection");
  }
        String url = "jdbc:mysql://XXX.XXX.XXX.XXX";
        Connection conn = DriverManager.getConnection(url,"XXXX","XXXX");

  if (logger.isDebugEnabled())
  {
      logger.debug("after getting connection");
  }

以下是日志,找不到驱动程序。

0    [main] DEBUG main.Query1  - this is a sample log message.
0    [main] DEBUG main.Query1  - logger is enabled for sure
0    [main] DEBUG main.Query1  - before getting connection
16   [main] ERROR main.Query1  - Got an exception! 
java.sql.SQLException: No suitable driver
 at java.sql.DriverManager.getConnection(DriverManager.java:545)
 at java.sql.DriverManager.getConnection(DriverManager.java:171)
 at main.Query1.testQuery(Query1.java:41)
 at main.Query1.main(Query1.java:21)

在我们的构建路径中,我们有:

  • MySQL的连接器的Java-5.1.13-bin.jar
  • 的log4j-1.2.16.jar

感谢。

2 个答案:

答案 0 :(得分:3)

您使用的数据库连接的URL可能不正确。 (检查db ip地址和端口)

其他原因可能是您没有加载mysql驱动程序,因此drivermanager不知道jdbc URL。希望您的代码中有Class.forName("com.mysql.jdbc.Driver").newInstance();

此外,您还需要在正在运行的应用程序的类路径中包含包含jar文件(mysql-connector-java-5.1.13-bin.jar)的mysql驱动程序。

答案 1 :(得分:1)

jdbc.drivers属性配置正确吗?