単一の実行可能ファイルを介して任意のマシンにインストールできるように、mysql を Java デスクトップアプリケーションに埋め込む方法についての手順/構成の詳細については明確ではありません。そうすることで、データベースがセットアップされ、実行する exe も提供されます。 app.Till 今私は netbeans を使用して自分のアプリを構築し、mysql を使用して database.plz をセットアップしました。
5 に答える
MySQL は組み込みデータベースではありません。関連する唯一の JAR は JDBC ドライバーです。Java 経由でスクリプト化できるインストール プロセスが必要ですが、このプロセスは、サポートする予定の Java アプリケーションの外部で確実に機能します。つまり、Java アプリケーションをオフにすることはできますが、MySQL サービス/デーモンは引き続き実行されます。
libmysqldのみが組み込み可能です。
組み込みデータベース - SQLite、Firebird - および Java で作成された組み込みデータベース - HSQL、Derby/(以前は何と呼ばれていたか思い出せません) があります。SQL Server Compact Edition は埋め込み可能ですが、SQL Server Express/MSDE はそうではないと思います。Oracleに組み込み可能なバージョンがあるかどうかはわかりません....
H2を強くお勧めします。これは Java で書かれた非常に高速な組み込みデータベースであり、HSQL などの言及された他のデータベースよりも使いやすいことがわかりました。
編集:
H2 の Web サイトでは、H2 と Derby、HSQL、MySqlなどの速度比較を見ることができます...
http://dev.mysql.com/doc/refman/5.0/en/connector-mxj.htmlを見てください。正確な詳細は覚えていませんが、ユーザーが個別にインストールする必要なく、デスクトップ アプリケーションに MySQL db を埋め込むことができました。
キー クラスは com.mysql.management.MysqldResource です。
これが例ですhttp://dev.mysql.com/doc/refman/5.0/en/connector-mxj-configuration-java-object.html
mysql-connector-mxj-gpl-db-files.jar ファイルには、すべてのプラットフォーム用の MySQL インストール ファイルが含まれています。ターゲット プラットフォームがわかっている場合は、他のプラットフォーム バージョンを jar から削除して、エンド ユーザーのダウンロード サイズを減らすことができます。
理論的には可能ですが、簡単ではありません。標準の MySql ディストリビューションでは、odbc などを介して通信するクライアント アプリケーションとは別の汎用データベース サーバーをセットアップすることを前提としています。
HSQL や JavaDB などの「純粋な Java」オプションは、Java アプリケーションに埋め込むように設計されており、「セットアップ」はほとんどまたはまったく必要ありません。
もう 1 つの可能性は、1 つのバイナリと sqljbbc jar ファイルのみを必要とする Sqlite です。これもまた、アプリケーション内に組み込まれるようにゼロから設計されており、データベースにファイルを割り当てることを除けば、管理者は必要ありません。
Java を使用した組み込みデータベースが必要な場合は、組み込み用に設計された Java で記述されたデータベースを使用してください。私は Apache Derby を埋め込むことができ、どうやら H2 も埋め込むことができることを知っています。
データベースで処理する必要があるデータの量はどれくらいですか?