Pessoal estou com um problema que acho básico.
Eu instalei o Mysql no meu micro, criei as tabelas etc… até aí tudo certinho o banco de dados em si está funcionando certinho aparentemente.
Então entrei no site da Oracle e baixei o Driver para o Mysql que ficou assim:
C:\mysql-connector-java-5.1.49 e nessa pasta existem dois arquivos .jar
1:mysql-connector-java-5.1.49.jar
2:mysql-connector-java-5.1.49-bin.jar
além da pasta src.
Pois bem por via das dúvidas coloquei os dois arquivos .jar no meu CLASSPATH
e no meu sistema utilizo o velho comando Class.forName() dessa forma para carregar o driver. Nem cheguei a utilizar o DiverManager ainda.
O código está assim:
Class.forName(“mysql-connector-java-5.1.49-bin”);
e ao executar da o seguinte erro:
java.lang.ClassNotFoundException: mysql-connector-java-5.1.49-bin
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
É o típico de erro que irrita agente porque não consigo achar uma explicação para isso.
Será que alguém pode me ajudar?
Grato
Fábio
o correto é
Class.forName("com.mysql.jdbc.Driver");
so que ta faltando mais coisa ai nesse seu teste.
Obrigado thimor, fuincionou.
O problema agora está no DriverManager. O código tá o seguinte:
String url = “jdbc:mysql://localhost:3306/”;
String dbName = “cedrus”;
String userName = “fabio”;
String password = “senha”;
connect = DriverManager.getConnection(url+dbName+userName+password);
O erro agora é o seguinte:
Sun Aug 02 14:45:07 GMT-03:00 2020 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
java.sql.SQLException: Access denied for user ‘’@‘localhost’ (using password: NO)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3933)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3869)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:864)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1707)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1217)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2189)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:768)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at cedruslibani.util.Conectar.(Conectar.java:43)
at CedrusLibani.(CedrusLibani.java:39)
at CedrusLibani.main(CedrusLibani.java:113)
Exception in thread “main” java.lang.NullPointerException
at CedrusLibani.(CedrusLibani.java:70)
at CedrusLibani.main(CedrusLibani.java:113)
Como vc pode ver estou bem perdido. se vc já conseguiu ver o problema peço ajuda. Senão se tiver alguma literatura ou algum tutorial sobre o assunto, agradeço.
E me desculpe a demora em responder.
grato.
Fábio
o correto é (url, usuraio, senha) voce esta concatanando tudo.
Funcionou, mas eu tive que fazer uma outra alteração no código.
String url = “jdbc:mysql://localhost:3306/cedrus”;
String userName = “fabio”;
String password = “senha”;
Class.forName(“com.mysql.jdbc.Driver”);
connect = DriverManager.getConnection(url,userName,password);
Está conectando ao banco de dados, porém está dando o seguinte aviso:
Tue Aug 04 17:03:25 GMT-03:00 2020 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Você teria algum livro ou algum link que fale mais sobre conexão com banco de dados? e sabe que aviso seria esse?
agradeço a ajuda, só com isso já estou conseguindo trabalhar, ainda não está ideal, mas devagar acredito chegar lá.
grato.
Fábio
String url = “jdbc:mysql://localhost:3306/cedrus?useSSL=false”;
use a url assim.
de cabeca agora eu nao tenho nenhum material que possa indicar.
Desculpe a demora para responder.
Mas Agradeço thimor, funcionou legal.
Se vc tiver algum arquivo pdf ou outro tipo de arquivo que fale mais sobre o assunto pode por gentileza enfiar para fboschetti@gmail.com.
grato.
Deus abençoe pela ajuda.
Fábio.