Код подключения к базе данных работает в Linux, но не в Windows - PullRequest
1 голос
/ 28 августа 2010

У нас есть следующий код, который работает в 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 ]

3 голосов
/ 28 августа 2010

Возможно, неверный URL-адрес для соединения с БД. (Проверьте IP-адрес и порт БД)

Другая причина может заключаться в том, что вы не загрузили драйвер mysql, поэтому менеджер драйверов не знает об URL-адресе jdbc. Надеюсь, у вас есть Class.forName("com.mysql.jdbc.Driver").newInstance(); в вашем коде

Также вам нужно иметь драйвер mysql, содержащий файл jar (mysql-connector-java-5.1.13-bin.jar) в пути к классам вашего запущенного приложения.

1 голос
/ 28 августа 2010

Правильно ли настроено свойство jdbc.drivers?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...