| 
| JDBC [message #1792111] | Wed, 11 July 2018 12:28  |  | 
| Eclipse User  |  |  |  |  | Hi This is my JDBC program 
 
 import java.sql.*;
 public class jdbcconnection {
 
 /**
 * @param args
 */
 public static void main(String[] args) {
 Connection con=null;
 Statement st=null;
 try{
 //Class.forName("com.mysql.jdbc.Driver");
 con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false","root","Srikant1");
 String sql="insert into employee values(105,'rahul',104)";
 st=con.createStatement();
 int x=st.executeUpdate(sql);
 if(x==1)
 System.out.println("record inserted");
 else
 System.out.println("record not inserted");
 }catch(Exception e){
 e.printStackTrace();
 }
 finally{
 try{
 if(st!=null)
 st.close();
 if(con!=null)
 con.close();
 }catch(Exception e){
 e.printStackTrace();
 }
 }
 }}
 
 But when i run this
 
 
 error message
 java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:108)
 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)
 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)
 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)
 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:71)
 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:79)
 at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)
 at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444)
 at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)
 at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)
 at java.sql.DriverManager.getConnection(Unknown Source)
 at java.sql.DriverManager.getConnection(Unknown Source)
 at jdbcconnection.main(jdbcconnection.java:12)
 Caused by: com.mysql.cj.exceptions.UnableToConnectException: CLIENT_PLUGIN_AUTH is required
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
 at java.lang.reflect.Constructor.newInstance(Unknown Source)
 at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:59)
 at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:83)
 at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:220)
 at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1411)
 at com.mysql.cj.NativeSession.connect(NativeSession.java:165)
 at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:982)
 at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:852)
 ... 6 more
 
 
 |  |  |  | 
| 
| Re: JDBC [message #1792115 is a reply to message #1792111] | Wed, 11 July 2018 15:32  |  | 
| Eclipse User  |  |  |  |  | I suggest that you start with something much simpler, get it to work, and then gradually introduce the picky kinds of things that your connection seems to require for whatever your programming purposes are. Here is what I used when I was trying to make sure what was holding back a connection to a sqlite database. Maybe you can do something similar to start with:
 
 
 
import java.sql.*;
import javax.swing.*;
import java.sql.Connection;
	
public class sqliteConnection {
	
	public static Connection dbConnector(){
		Connection conn = null;
		JOptionPane.showMessageDialog (null, "Ready for the try block after declaring conn.");
		try {
			JOptionPane.showMessageDialog (null, "Just inside the try-catch block.");
			Class.forName("org.sqlite.JDBC");
			JOptionPane.showMessageDialog (null, "Did the Class.forName stuff. Ready for conn- ...");
			conn = DriverManager.getConnection("jdbc:sqlite:/Users/JohnPaulJones/EmployeeData.sqlite"); //Can't be Connection conn
			JOptionPane.showMessageDialog(null,  "Connection Successful.");
			return conn;
		}catch (Exception e)
		{
			JOptionPane.showMessageDialog(null,"sqliteconnection fails with exception:  " + e);
			return null;
		}
	}
}
I'm on a Mac, so the path is easier to write. For Windows I think you have to use backslashes and you have to escape them so they will function as real backslashes, i.e., instead of Mac's / you have to write \\ to get the path to work right.
 
 Also, I would google for "CLIENT_PLUGIN_AUTH" to find out what this is and where your program should be able to find it.
 [Updated on: Wed, 11 July 2018 15:37] by Moderator |  |  |  | 
Powered by 
FUDForum. Page generated in 0.10023 seconds