gpt4 book ai didi

mysql - 如何修复 找不到适合 jdbc 的驱动程序 :mysql://localhost:3306/XXXX in netbeans

转载 作者:行者123 更新时间:2023-11-29 16:03:04 25 4
gpt4 key购买 nike

我有一个 Web 应用程序,应该从本地主机数据库中提取数据。我正在使用 Severlets 和 mysql jdbc、eclipseLink。问题是,当我部署应用程序时,它给了我以下错误,即使我已经创建了工作正常的数据库连接并将最新的 mysql (8.0.16) jar 添加到库中。

Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 
2.7.0.v20170811-d680af5):
org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: No suitable driver found for
jdbc:mysql://localhost:3306/sampledb?zeroDateTimeBehavior=convertToNull
Error Code: 0

我还完成了 netbeans 8.2 和 java 的全新安装,但错误仍然存​​在。但我使用两台不同的电脑,这是同样的问题。由于某种原因,我认为 netbeans 有一个错误。我使用 glassfish 作为我的服务器,工作正常。

这是我的项目结构的链接:https://res.cloudinary.com/dpsotxezr/image/upload/v1557082088/structure_2_migcvz.png

手动尝试连接 mysql 服务器时我也遇到此错误

mysqld: File '.\binlog.index' not found (OS errno 13 - Permission denied)
2019-05-05T18:51:07.133050Z 0 [System] [MY-010116] [Server] C:\Program
Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.16) starting as
process 1796
2019-05-05T18:51:09.509588Z 0 [Warning] [MY-010091] [Server] Can't create
test file C:\Program Files\MySQL\MySQL Server 8.0\data\LAPTOP-
43BL4A79.lower-test
2019-05-05T18:51:09.510028Z 0 [Warning] [MY-010091] [Server] Can't create
test file C:\Program Files\MySQL\MySQL Server 8.0\data\LAPTOP-
43BL4A79.lower-test
2019-05-05T18:51:10.672870Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-05-05T18:51:12.306701Z 0 [System] [MY-010910] [Server] C:\Program
Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld
8.0.16) MySQL Community Server - GPL.
  1. 所以我已经将最新的mysql驱动程序添加到项目库
  2. 我也尝试过Class.forName("com.mysql.jdbc.Driver");但还是不行
  3. Glassfish 表示没有合适的驱动程序。

请帮忙,我已经尝试解决这个问题一个多星期了,该网站上的相关问题解决方案似乎没有帮助。

最佳答案

我在这里看到几个问题。首先,尝试使用一个简单的程序连接到您的数据库:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

// Notice, do not import com.mysql.cj.jdbc.*
// or you will have problems!

public class LoadDriver {
public static void main(String[] args) {
try {
// The newInstance() call is a work around for some
// broken Java implementations

Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
} catch (Exception ex) {
// handle the error
}
}
}

(复制自 https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-usagenotes-connect-drivermanager.html )

如您所见,类名已更改为com.mysql.cj.jdbc.Driver

然后您尝试手动连接:您的权限被拒绝。我已经很长时间没有使用 Windows 了,但也许你可以将 MySql 安装到另一个文件夹中,例如 C:\mysql(另请参阅: https://dev.mysql.com/doc/refman/8.0/en/windows-installation-layout.html )

然后您可能会遇到最新驱动程序的另一个问题:MySQL JDBC Driver 5.1.33 - Time Zone Issue

最后但并非最不重要的一点:如果一切正常并且您想更新 Glassfish 中的驱动程序,您需要将 jar 复制到 %GLASSFISH%/glassfish/lib

关于mysql - 如何修复 找不到适合 jdbc 的驱动程序 :mysql://localhost:3306/XXXX in netbeans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55995376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com