2012-04-05 10 views
0

DB(ダービーDB)を組み込んだ実行可能なJAVAアプリケーションを作成しようとしていますが、いくつかの問題に直面しており、貴重な助けが必要です。DERBY DBが埋め込まれたJavaアプリケーション

つまり、環境としてEclipseを使用しています。 JavaアプリケーションをRUNNABLE JARファイルにエクスポートすると、デスクトップマシンで正常に動作します。

EXEダブルクリックアイコンを作成し、JAVAのバックグラウンド/環境を持たない別のマシンに送信することです。これは、exeファイルをダブルクリックして作業する別のユーザーに送信することですそれと。

アプリケーションはテーブルにデータを挿入しているため、DBは読み込み可能なだけではありません。 それは私のマシン上で正常に動作しますが、別のマシンに同じJARファイルを送信すると、エラーが発生します: "スキーマテストは存在しません" アプリケーションは見えますが、 DB。だから、それは役に立たない。

でもJSmooth、Install4j ....を使ってJARをexeファイルに変換すると、同じエラーが発生します。 まず、別のマシンでJARファイルを動作させる必要があります。

DBファイルに何か問題があります。

私の側からもっと必要な情報があれば教えてください。どうすればいいのか教えてください。

+0

dbデータはどこに保存されますか?どこにdbデータファイルを置くのですか? – dash1e

答えて

2

実行時にアプリケーションがAND WRITEデータを読み込もうとしている場合は、JARファイルに更新可能なDerbyデータベースを置くことができないため、完全にJARファイルに格納することはできません。最初にアプリケーションがダブルクリックされたときに実行するロジック、(a)ユーザーのマシン上のDerbyデータベースに適した場所を見つけ出す(b) )はデータベースを作成し、すべてのテーブル、ビューなどを定義します。(c)初期データをロードします。

その後、アプリケーションのその後の実行では、データベースを再オープンして使用を継続できます。

+0

答えをありがとう、しかし、私はすべてのユーザーのマシン上に作成する必要がある場合、組み込みDBのポイントは何ですか?ポイントは、ユーザーはDBについてまったく知ってはいけないということです。 私はこれを入れます:con = DriverManager.getConnection( "jdbc:derby:myDB; create = true; user = app; password = app"); 私が手にエラーがある:。 表/ビュー「PREMIER」が存在しません たびにアプリケーションをダブルクリックするので、私は、それを理解していないテーブルが存在し、そして場合にそれがない場合、それは、チェック Eclipseからうまく動作するので、JARファイルでは失われているようです。 – user1314834

+0

"jdbc:derby:myDB; create = true"は、現在の作業との比較で、 'myDB'フォルダを探しますディレクトリに格納されます。彼らがいない場合は、静かに新しい空のデータベースを作成してください "あなたが見ている動作を考えれば、ダブルクリックするたびにアプリケーションが新しい一時的な作業ディレクトリを取得しているようです。あなたのデータは実行時に永続するためには、そのデータを格納するディスク上の場所を決める必要があり、接続URLに*その*の場所を指定する必要があります。 –

関連する問題