无法创建到数据库的连接(coldfusion)

fslejnso  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(397)

我正在通过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.

zazmityj

zazmityj1#

问题出在versionmysql连接器java上。
我第一次使用最新版本 Connector/J 8.0.11 需要使用以前的版本 Connector/J 5.1.46 . ageax的建议对我帮助很大!
两者兼得 MySQL 5 以及 Other 司机。

cxfofazt

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.jarmysql-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”)。

相关问题