gpt4 book ai didi

java.sql.SQLException : Cannot create PoolableConnectionFactory (CLIENT_PLUGIN_AUTH is required)

转载 作者:行者123 更新时间:2023-11-29 20:16:40 28 4
gpt4 key购买 nike

我使用的是 Tomcat 版本 8 和 MySQL 连接器版本 6。这是我的 context.xml:

<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

<Resource auth="Container"
driverClassName="com.mysql.cj.jdbc.Driver"
maxActive="20"
maxIdle="10"
maxWait="-1"
name="jdbc/MyConn"
username="root"
password="mypassword"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/training_db"
/>

这是我用于数据库连接的类。

public class DBConnection {

public static Connection getConnection() throws Exception{
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/MyConn");
Connection conn = ds.getConnection();
System.out.println("dbConLookp():: Data Source Connection is called."+ds.getLogWriter());
return conn;
}

}

这就是我用于连接数据库并进行插入的内容。

try{


DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());

Connection con = DBConnection.getConnection();
PreparedStatement st = con.prepareStatement("INSERT INTO EMPLOYEE (ID,FIRSTNAME,LASTNAME,MIDDLENAME,PHONENUMBER,EMAILID,ADDRESS,USERPASS) VALUES (?,?,?,?,?,?,?)");
st.setInt(1, Integer.parseInt(request.getParameter("id")));
st.setString(2, firstName);
st.setString(3, lastName);
st.setString(4, middleName);
st.setString(5, phoneNumber);
st.setString(6, emailId);
st.setString(7, address);
st.setString(8, password);

boolean rs = st.execute();
if (!rs) {
System.out.println("Record "+request.getParameter("id")+" is inserted successfully.");
} else {
System.out.println("Record is insertion is failed.");
}
st.close();
con.close();
}
catch(Exception e){
System.out.println("Exception caught:" + e);
}

在注册页面上,当我单击注册时,出现 java.sql.SQLException: Cannot create PoolableConnectionFactory (CLIENT_PLUGIN_AUTH is required) 异常。我尝试将 localhost 更改为 127.0.0.1 但没有成功。我还检查了 MySQL 权限,它们看起来很好。我尝试创建一个不同的用户,但效果不佳。我尝试在 WEB-INF 文件夹中创建另一个 context.xml 但没有成功。我不知道我还能做什么。如有任何帮助,我们将不胜感激。

最佳答案

如果有人遇到同样的问题,我记得我按照相关问题的 StackOverflow 答案的建议将 MySQL Connector JAR 复制到 Tomcat 的 lib 文件夹中。删除这些 JAR 就可以了。

我还需要将连接器版本降级到 v5.1.39。如果仍然遇到问题,请尝试不同的连接器版本。

关于java.sql.SQLException : Cannot create PoolableConnectionFactory (CLIENT_PLUGIN_AUTH is required),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39726708/

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