1. ホーム
  2. java

[解決済み] このSQLを実行するためのデータソースが設定されていない

2022-02-17 05:29:14

質問

Javaで(データベース用の)テーブルを作成する際に、ちょっとした問題があります。

現在、IntelliJ IDEAを使用していますが、テーブルを作成するコードを書くとテキストが黄色でハイライトされ、問題を見ると次のようなメッセージが表示されます。

このSQLを実行し、高度なコードアシストを提供するように設定されたデータソースはありません。問題メニュー (⌥⏎) でこの検査を無効にしてください。

SQLの方言を変えてみましたが(以前はそのようなメッセージも出ていましたので)、結果は出ませんでした。

どうしたらいいのでしょうか?私はコードに何か間違ったことを書きましたが、なぜ他の例が完璧に動作するのかわかりません。

以下はそのコードです。

public static void createTable(){

    //connect to database
    String url = percorsoDatabase;

    //Statement create new table
    String sql = "CREATE TABLE IF NOT EXISTS Tabella (id PRIMARY KEY," +
            "video TEXT," +
            "game TEXT," +
            "firstAction TEXT," +
            "secondAction TEXT," +
            "thirdAction TEXT);";

    try {
        Connection conn = DriverManager.getConnection(url);
        Statement stmt = conn.createStatement();
        stmt.execute(sql);
    } catch (SQLException e ){
            System.out.println(e.getMessage());
    }

}

私はすでにSQLiteデータベースを作成し、動作する接続を確立しています(その前に)、それは有用である可能性がある場合は、ここでコードです。

public static void main(String[] args) {

    createNewDatabase();
    connection();
    createTable();
}

public static void createNewDatabase(){

    String url = percorsoDatabase;

    Connection conn;
    try {

     conn = DriverManager.getConnection(url);
        if (conn != null){
            DatabaseMetaData meta = conn.getMetaData();
            System.out.println("The driver name is" + meta.getDriverName());
            System.out.println("A new database has been created.");
        }
    } catch (SQLException e){
        System.out.println(e.getMessage());
    }

}

public static void connection(){

    Connection conn = null;
    try {
        //String url = "jdbc:sqlite://Volumes/Isma/Documenti/SUPSI/APA/Stage/"
        //        + "Beans/esperimento/dati.db";
        conn = DriverManager.getConnection(percorsoDatabase);
        System.out.println("Connection to SQLite established.");
    } catch (SQLException e){
        System.out.println(e.getMessage());
    } finally {
        try {
            if (conn != null){
                conn.close();
            }
        } catch (SQLException e){
            System.out.println(e.getMessage());
        }
    }

}

それで... もし、あなたが私を助けてくれるなら、感謝します。

回答ありがとうございました。

どのように解決するのですか?

この警告は、Intellij Ideaのデータベースツールウィンドウでデータソースが設定されていないことを示しています。これはコードが間違っているという意味ではなく、データベース・スキーマに基づいたコード補完が行われていないことを表しています。

Intellijでのデータソースの設定は、以下の通りです。 https://www.jetbrains.com/help/idea/database-tool-window.html