Ingen lämplig drivrutin hittades för JDBC är ett undantag i Java som vanligtvis inträffar när någon drivrutin inte hittas för att göra databasanslutningen. I det här avsnittet kommer vi att diskutera varför vi får ett sådant fel och vad som bör göras för att bli av med detta undantag så att det kanske inte inträffar nästa gång.
Innan vi diskuterar undantaget bör vi ta en kort kunskap om vad som är en JDBC-drivrutin.
Vad är en JDBC-drivrutin
De JDBC (Java Database Connectivity) Drivrutin är en drivrutin som gör anslutning mellan en databas och Java-programvara. JDBC-drivrutinen kan förstås som en drivrutin som låter databasen och Java-applikationen interagera med varandra. I JDBC finns det fyra olika typer av drivrutiner som ska användas enligt applikationens krav. Dessa JDBC dykare är:
- JDBC-ODBC bryggdrivrutin
- Thin Layer drivrutin
- Native API-drivrutin
- Drivrutin för nätverksprotokoll
Alla fyra förarna har sin egen användning samt för- och nackdelar. För att veta mer om JDBC-drivrutiner, besök: https://www.javatpoint.com/jdbc-driver avsnitt av vår Java handledning .
Vad är felet och varför det uppstår?
I allmänhet hänvisar 'ingen lämplig drivrutin hittades' till att skicka ett fel, dvs. java.sql.SQLException: Ingen lämplig drivrutin hittades för jdbc:mysql://localhost:3306/test ' i konsolen. Felet uppstår när vi försöker ansluta till MySql (eller någon annan) databas som finns på din lokala dator, d.v.s. localhost, och lyssnar på det angivna portnumret som är inställt för mysql och den fann att antingen ingen JDBC-drivrutin registrerades innan du anropade DriverManager.getConnection () eller så kanske vi inte har lagt till MySQL JDBC-drivrutinen till klassvägen i IDE. Om vi kör en enkel Java-kod utan krav på databasanslutning, kör Java API det korrekt och bra, men om det finns ett behov av en JDBC-drivrutin, uppstår ett fel, vilket är felet 'klassen hittades inte' . I enkla ord, ett sådant fel kastas när ingen lämplig drivrutin hittas av Java API så att den kan ansluta Java-applikationen till databasen.
Hur man tar bort felet
Nu är frågan hur man blir av med ett sådant fel. För att lösa problemet eller felet måste man lägga till MYSQL-kontakt JAR till klasssökvägen eftersom klasssökvägen inkluderar JDBC-drivrutinen för MYSQL genom vilken anslutningen genereras mellan Java-koden och databasen. För att lägga till MYSQL-anslutnings JAR-filen till IDE eller verktyg vi använder, måste vi gå igenom några ganska enkla steg. Dessa steg är följande:
För Eclipse och NetBeans IDE
1) Öppna valfri webbläsare på systemet och sök efter nedladdning av MySQL Connector på sökfliken. Flera nedladdningslänkar kommer att visas. Klicka på MYSQL-webbplatsen https://www.mysql.com/products/connector/ från den och ladda ner den senaste versionen av MYSQL-anslutningen genom att välja dina systemspecifikationer.
2) Efter en lyckad nedladdning av MYSQL Connector, kommer den att ses som standard Nedladdningar mapp i ditt system, som du kan se i utdraget nedan:
3) Öppna nu den IDE du arbetar med, antingen NetBeans eller Eclipse, och även alla andra verktyg/IDE, vilket du än använder. Här har vi använt Eclipse IDE.
4) Gå till ditt projekt och högerklicka på det. En lista med alternativ visas. Välj och klicka på Bygg sökväg > Konfigurera byggväg , och dialogrutan Java Build Path öppnas, som du kan se i utdraget nedan:
5) Klicka på Lägg till externa JAR och flytta till platsen där du har laddat ner Mysql-anslutare , som du kan se i utdraget nedan:
6) Välj Mysql-anslutare och klicka på Öppen . JAR-filen läggs till i din projektbyggningsväg, som du kan se i utdraget nedan:
7) Klicka på Applicera och stäng , och JDBC-drivrutinen kommer att läggas till din Eclipse IDE.
8) Kör JDBC-anslutningskoden igen, och den här gången får du inte undantaget 'Ingen lämplig drivrutin hittades för JDBC' istället för andra fel om du har gjort något annat syntaxproblem.
9) JDBC-drivrutinen kommer att anslutas och anslutningen kommer att upprättas.
Obs: Om du vill veta hur man gör JDBC Connectivity i Java, besök https://www.javatpoint.com/example-to-connect-to-the-mysql-database
Punkt att notera:
- Om du använder Java SE 6 med JDBC 4.0 behöver du kanske inte ladda och registrera drivrutinen eftersom den nya Java-funktionen ger autoladdning av JDBC-drivrutinsklassen. Därför finns det inget krav på att använda Class.forName('com.mysql.jdbc.Driver'); påstående. Men om JDBC Jar du använder är gammal, det vill säga JDBC 4.0 kompatibel med Java SE 6, kan du behöva skapa detta uttalande.
- Kortfattat kan vi säga att ett sådant fel uppstår när ingen JDBC JAR-fil läggs till i Javas klasssökväg. Vi behöver bara lägga till JAR-filen i klasssökvägen och sedan köra koden. Koden kommer förhoppningsvis att exekveras med framgång.