![](/img/trans.png)
[英].MySQLNonTransientConnectionException: Could not create connection to database server
[英]Could not create connection to database (ColdFusion)
我正在通過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.
更新:
安裝MySQL 8后,我在創建DSN時收到完全相同的錯誤消息。 這似乎是MySQL 8的兼容性問題。檢查ColdFusion 2016的系統支持矩陣只顯示MySQL 5.7,因此MySQL 8可能不支持或與內置驅動程序兼容。
安裝較新的JDBC驅動程序似乎可以解決問題,並允許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時看到的相同錯誤。
一旦你開始工作,我強烈建議你創建一個單獨的用戶帳戶 ,授予適當的權限,並將其與CF DSN(而不是“root”)一起使用。
問題是版本 mysql連接器java 。
我第一次使用最新版本的Connector/J 8.0.11
,需要使用以前版本的Connector/J 5.1.46
。 Ageax的建議給了我很多幫助!
兼顧MySQL 5
和Other
驅動程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.