質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.44%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

Q&A

解決済

1回答

2072閲覧

コンパイル後、java.sql.SQLException: No suitable driver found エラー発生

Kohinata

総合スコア30

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

0グッド

0クリップ

投稿2023/02/09 04:58

編集2023/02/10 01:49

実現したいこと

classファイルの実行。

前提

下記の動画を参考にしながら、JDBCを実行しようとしています。
https://www.youtube.com/watch?v=fUB-yUBVx6o&t=605s

動画を参考にしながら、
・MySQL Community (Windows (x86, 32-bit), MSI Installer)をダウンロード。
・MySQL コネクタ(JDBC Driver for MySQL (Connector/J))をダウンロード
→C:\JDBC_test¥mysql-connector-j-8.0.32.jar に配置

・環境変数の追加
→Path: C:\Program Files\MySQL\MySQL Server 8.0\bin
→CLASSPATH:.;‪C:\JDBC_test\mysql-connector-j-8.0.32.jar;
・AdoptOpenJDKダウンロード。

発生している問題・エラーメッセージ

java.sql.SQLException: No suitable driver found for     jdbc:mysql://localhost/sampledb at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:706) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229) at InsertStudent.main(InsertStudent.java:19)

該当のソースコード

InsertStudent.java

1import java.sql.DriverManager; 2import java.sql.Connection; 3import java.sql.Statement; 4 5public class InsertStudent{ 6 7 public static void main(String[] args){ 8 9 final String URL = "jdbc:mysql://localhost/sampledb"; 10 final String USER = "root"; 11 final String PASS = "searchman"; 12 String sql = "INSERT INTO student VALUES(6,'小林',95)"; 13 14 Connection con = null; 15 Statement stmt = null; 16 17 try{ 18 //①DBに接続 19 con = DriverManager.getConnection(URL, USER, PASS); 20 //②ステートメントを生成 21 stmt = con.createStatement(); 22 //③SQLを実行 23 int count = stmt.executeUpdate(sql); 24 System.out.println( count + "件更新しました"); 25 } catch(Exception e){ 26 e.printStackTrace(); 27 } finally { 28 try{ 29 //④リソースを解放 30 if(stmt != null) stmt.close(); 31 if(con != null) con.close(); 32 } catch(Exception e){ 33 e.printStackTrace(); 34 } 35 } 36 } 37} 38 39

試したこと

・環境変数の確認。
・ '.' (カレント・ディレクトリ)も先頭に追加

補足情報(FW/ツールのバージョンなど)

・jdk-17.0.6.10-hotspot
上記をインストロール。
・classファイルの生成まではできている。

JDBCの流れを確認をしたかったのですが、序盤で躓いてしまいました…。

ご教示頂けたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

java.sql.SQLException: No suitable driver found for

エラー自体は JDBC ドライバである「mysql-connector-j-8.0.32.jar」が見つからない旨のエラーかと思います。

→C:\test\mysql-connector-j-8.0.32.jar に配置
・環境変数の追加
→CLASSPATH:.;‪C:\JDBC_test\mysql-connector-j-8.0.32.jar;

CLASSPATH で指定している jar ファイルのパス名が違っているということはありませんか?

誤)C:\JDBC_test\mysql-connector-j-8.0.32.jar
正)C:\test\mysql-connector-j-8.0.32.jar

投稿2023/02/09 14:27

cx20

総合スコア4633

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kohinata

2023/02/10 01:46

ご回答ありがとうございます! ご指摘いただいたところなのですが、ファイルの場所を変更したため、JDBC_testの記載で正しいです。 質問文訂正いたします。 CLASSPATHの設定に問題があるのですかね、 mysql-connector-j-8.0.32.jarのプロパティ>オブジェクト名からコピペして貼り付けたのでパス名は間違っていないはずなのですが… もう一度、自身でも入力をしてみます。
cx20

2023/02/10 03:05

C:\JDBC_test¥mysql-connector-j-8.0.32.jar ↑全角記号が入っている為、とか?
Kohinata

2023/02/14 01:45

お答えありがとうございます! ほかの環境変数をコピーし、再起動してみたのですが変化がありませんでした。 現在、こちらになっています。 .;‪C:\JDBC_test¥mysql-connector-j-8.0.32.jar
cx20

2023/02/14 03:15

「¥」が全角のままのようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.44%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問