Обновление:
После установки MySQL 8 я получил точно такое же сообщение об ошибке при создании DSN. Похоже, это проблема совместимости с MySQL 8. Проверка матрицы поддержки системы для ColdFusion 2016 показывает только MySQL 5.7, поэтому MySQL 8, вероятно, не поддерживается или не совместим со встроенными драйверами.
Установка более нового драйвера JDBC, похоже, решила проблему и позволила проверить DSN.
- Остановить службу Windows ColdFusion 2016
- Загрузите последнюю версию драйвера JDBC с https://dev.mysql.com/downloads/connector/j/. а>. На данный момент последней версией является v8.0.11.
- Разархивируйте и скопируйте новый jar-файл драйвера (
mysql-connector-java-8.0.11.jar
) в каталог {cf2016_root}\wwwroot\WEB-INF\lib
.
Найдите старый файл jar драйвера MySQL и переименуйте его, чтобы он не имел расширения .jar
. Например, переименуйте mysql-connector-java-5.1.39-bin.jar
в mysql-connector-java-5.1.39-bin.jar.old
. (Фактическое местоположение и номер версии могут отличаться, но обычно они находятся в {cf2016_root}\lib\
)
Перезапустите службу Windows ColdFusion 2016.
Наконец, создайте новый DSN, используя Тип драйвера = Другой, и введите следующее. Просто замените «YourDatasourceName» и «YourDatabaseName» правильными значениями.
- Имя источника данных CF:
YourDatasourceName
- URL-адрес JDBC:
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
![Имя сервера Localhost](https://i.stack.imgur.com/MDI0Jm.png)
Я подтвердил, что ввод недопустимого имени сервера, такого как NotARealServerName (нет компьютера с таким именем в сети), приводит к той же ошибке, которую вы видите, когда пытаетесь проверить DSN в CF11.
![«Недопустимое](https://i.stack.imgur.com/qvnV3.png)
![Проверить исключение DSN SQLNonTransientConnectionException](https://i.stack.imgur.com/uJUsC.png)
Как только вы заработаете, я настоятельно рекомендую создать отдельного пользователя аккаунт, предоставив соответствующие разрешения и используя его с CF DSN (вместо «root»).
person
SOS
schedule
01.05.2018
mysql -u root -p
? 2) Порт 3306 открыт? Вы можете проверить, используя что-то вродеtelnet 127.0.0.1 3306
. - person SOS   schedule 01.05.2018mysql -u root -p -h 127.0.0.1
, затем ввел пароль и успешно подключился. Когда я написал telnet 127.0.0.1 3306 я увидел:J 8.0.11&Giw2><r h[;E{"n*'caching_sha2_password
и через 10 секундConnection to host lost
. Что это значит? Порт открыт или нет? - person Roman Kharitonov   schedule 01.05.2018Could not open connection to the host, on port 3306...
. Хм... когда вы говорите Я использую стандартные настройки (сервер MySQL, локальный хост....), я не уверен, что введенные значения верны. Одной из причин ошибки NonTransient... является неправильное имя сервера, например установка SomeInvalidName вместо localhost. Он должен быть установлен на:Database: YourDatabaseName | Server: 127.0.0.1 | Port: 3306 | UserName: root | Password: (YourPassword)
. - person SOS   schedule 01.05.2018