私の目的は、Java で読み書きできるローカル データベースを作成することです。Python を使用してローカルの sqlite データベースを操作したり、VB.Net を介して Microsoft Azure 上の既存のネットワーク データベースと対話したりした経験はありますが、データベースを作成するための Java の定式化は私を逃れています。
ほとんどのソース ( JDBC Docsなど) は、ネットワーク プロトコルまたは localhost でホストされているデータベースを介してデータベースにアクセスしていると想定しているようです。私の望ましい実装は、データベースを作成してファイル (またはファイルのコレクション) に保存し、ネットワーク接続なしでローカルに保存してアクセスできるようにすることです (「file:」プロトコルを介して推定)。
JDBC チュートリアルは、一度起動して実行すると非常に役立つように見えますが、既存のデータベースをまだ持っていないため、現在は私の範囲を超えています。
多くの ソースが、H2、MySQL、Derby、または Hypersonic DB などのソリューションを提案しています。ただし、いくつかの理由から、拡張機能をインストールするのは嫌いです (それが正しい用語である場合)。
- このプロジェクトは当初、Java の使い方を学ぶのに役立つことを目的としています。プロジェクトの範囲を広げると、「ベース」言語での経験が希薄になり、おそらく、「カーゴ カルト プログラミング」に従事する誘惑が高まります。
- このプロジェクトが他のユーザーに配布された場合 (確かに可能性は低いですが、それでも!)、Java のコア以上のものをインストールするよう強制したくありません。
- Java に拡張機能 (アドオン? モジュール?) をインストールする方法がわかりません。
同様の理由で、Microsoft SQL Server のインストールは生産的ではありません。
この答えは、私が目指しているものに近いようです。ただし、エラーが発生します。
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/?user=root&password=rootpassword
「jdbc:file://targetFile.sql」を試すと、同様のエラーが発生します。
「組み込み」データベースという用語を見たことがありますが、これは「ローカル データベース」のサブセットだと思います (つまり、ローカル データベースは同じシステムに格納されます。組み込みデータベースは、単一のアプリケーションでのみ使用されるローカル データベースです)。 - これらの定義が間違っている場合は、お気軽に訂正してください!