Не удалось создать соединение с базой данных (ColdFusion) - PullRequest
0 голосов
/ 30 апреля 2018

Я создаю простое приложение CRUD через ColdFusion. Я собираюсь в Административную панель ColdFusion на http://localhost:8600/CFIDE/administrator/index.cfm и добавляю «Новый источник данных». Но я получаю следующую ошибку:

Connection verification failed for data source: dsnMyVariable
java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 
The root cause was that: java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

DSN SQLNonTransientConnectionException Error

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Проблема была с версией MySQL коннектор java .
Впервые я использовал последнюю версию Connector/J 8.0.11 и мне нужно использовать предыдущую версию Connector/J 5.1.46. Советы Ageax мне очень помогли!
Работайте с драйверами MySQL 5 и Other.

enter image description here

0 голосов
/ 01 мая 2018

Обновление:

После установки MySQL 8 я получил точно такое же сообщение об ошибке при создании DSN. Кажется, это проблема совместимости с MySQL 8. Проверка матрицы поддержки системы для ColdFusion 2016 показывает только MySQL 5.7, поэтому MySQL 8, вероятно, не поддерживается или не совместим со встроенными драйверами.

Установка более нового драйвера JDBC , казалось, устранила проблему и позволила DSN проверить.

  1. Остановите службу Windows ColdFusion 2016
  2. Загрузите последнюю версию драйвера JDBC с https://dev.mysql.com/downloads/connector/j/. В настоящее время последняя версия v8.0.11.
  3. Разархивируйте и скопируйте новый jar драйвера (mysql-connector-java-8.0.11.jar) в каталог {cf2016_root}\wwwroot\WEB-INF\lib
  4. Найдите старый JAR-файл драйвера MySQL и переименуйте его, чтобы он не имел расширения .jar. Например, переименуйте mysql-connector-java-5.1.39-bin.jar в mysql-connector-java-5.1.39-bin.jar.old. (Фактическое местоположение и номер версии могут отличаться, но обычно они находятся в {cf2016_root}\lib\)

  5. Перезапустите службу Windows ColdFusion 2016

Наконец, создайте новый DSN, используя Driver Type = Other и введите следующее. Просто замените «YourDatasourceName» и «YourDatabaseName» на правильные значения.

  • Имя источника данных CF: YourDatasourceName
  • JDBC URL: jdbc:mysql://127.0.0.1:3306/YourDatabaseName?tinyInt1isBit=false&
  • Класс водителя: com.mysql.jdbc.Driver
  • Имя драйвера: com.mysql.jdbc.Driver
  • Имя пользователя: root
  • Пароль: (your password)

Не видя ваших реальных настроек DSN, это всего лишь предположение, но ... проверьте правильность настройки Server . Поскольку MySQL работает на той же машине, что и CF, введите либо localhost, либо 127.0.0.1

Server Name Localhost

Я подтвердил, что при вводе неверного имени сервера, например NotARealServerName (нет компьютера с таким именем в сети), возникает та же ошибка, что и при попытке проверить DSN в CF11.

Invalid Server Name

Verify DSN SQLNonTransientConnectionException

После того, как вы все заработаете, я настоятельно рекомендую создать отдельную учетную запись пользователя , предоставить соответствующие разрешения и использовать ее с CF DSN (вместо «root»).

...