我正在通过ColdFusion创建一个简单的CRUD应用程序。我将前往http://localhost:8600/CFIDE/administrator/index.cfm
的ColdFusion管理员面板,并添加“新数据源”。但是我收到以下错误:
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.
答案 0 :(得分:9)
<强>更新强>
安装MySQL 8后,我在创建DSN时收到了完全相同的错误消息。这似乎是MySQL 8的兼容性问题。检查System Support Matrix for ColdFusion 2016仅显示MySQL 5.7,因此MySQL 8可能不支持或与内置驱动程序兼容。
安装newer JDBC driver似乎解决了问题并允许DSN验证。
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”。
YourDatasourceName
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。
一旦你开始工作,我强烈推荐creating a separate user account,授予适当的权限,并将其与CF DSN(而不是“root”)一起使用。
答案 1 :(得分:2)
问题在于版本 mysql connector java。
第一次使用最新版本textAppearance
并需要使用以前的版本View
。 Ageax的建议给了我很多帮助!
为Connector/J 8.0.11
和Connector/J 5.1.46
司机工作。