我正在通过coldfusion创建一个简单的crud应用程序。我要去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.
2条答案
按热度按时间zazmityj1#
问题出在versionmysql连接器java上。
我第一次使用最新版本
Connector/J 8.0.11
需要使用以前的版本Connector/J 5.1.46
. ageax的建议对我帮助很大!两者兼得
MySQL 5
以及Other
司机。cxfofazt2#
更新:
在安装mysql 8之后,我在创建dsn时收到了完全相同的错误消息。这似乎是MySQL8的兼容性问题。检查coldfusion 2016的系统支持列表只显示MySQL5.7,因此MySQL8可能不受支持或与内置驱动程序不兼容。
安装一个更新的jdbc驱动程序似乎解决了这个问题,并允许dsn进行验证。
停止coldfusion 2016 windows服务
从下载最新的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
找到旧的mysql驱动程序jar并重命名它,这样它就没有.jar
分机。例如,重命名mysql-connector-java-5.1.39-bin.jar
至mysql-connector-java-5.1.39-bin.jar.old
. (实际位置和版本号可能会有所不同,但它通常位于{cf2016_root}\lib\
)重新启动coldfusion 2016 windows服务
最后,使用driver type=other创建一个新的dsn并输入以下内容。只要用正确的值替换“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设置,这只是猜测,但是。。。验证服务器设置是否正确。因为mysql和cf在同一台机器上运行,所以输入localhost
或者127.0.0.1
我确认输入一个无效的服务器名,比如notarealservername(网络上没有使用该名称的计算机),会产生与您在cf11中尝试验证dsn时看到的相同的错误。
一旦可以使用,我强烈建议您创建一个单独的用户帐户,授予适当的权限,并将其与cfdsn一起使用(而不是“root”)。