純粋なJavaのSQLiteJDBCドライバは本当に純粋なていますか?

StackOverflow https://stackoverflow.com/questions/4238428

  •  26-09-2019
  •  | 
  •  

質問

私は、今後のJavaサーブレットアプリケーションでembededdedデータベースの決定を作っています。 。私は2つの最終候補にまで午前:SQLiteJDBCとSQLiteの「ピュアJava」(ダービー別名)は、Java DB対ドライバー

ここに私のキラー基準です:アプリケーションは、具体的には、我々は、そのアプリケーションを実行するために、すべての必要があります。Solarisの、CentOSの、Windowsのx86およびx64のWindowsのホストを持っている、Javaをサポートする任意のOS上で実行する必要があります。そして、インストールは(ちょうどターゲットサーバにzipファイルをコピーし、サーバーの解凍をさせると、アプリケーションを実行する以外の何物でもない)残りを行い、よりターゲットサーバの展開フォルダにwarファイルをコピーし、サーバーをさせるよりも、何も関与してはなりません。何のインストールの一部、およびなし追加のセットアップロジックとしてネイティブバイナリと周りいじくるがあってはなりません。 (それは実際に私の要件はありませんが、それは会社の、すべてのサーブレットベースのアプリケーションのためですが、私はそれが好きです)。

私はダービー(Java DBは)上記の基準を満たしていることを知っています。私は一度か二度それをやりました。しかし、私は本当にSQLiteのの単一ファイルのアーキテクチャなど、およびSQLiteのコミュニティはダービーのそれよりも約20倍大きいという事実。私はまた、彼らは今、自分の傘の下に5つの競合データベース製品のようなものを持っているように、Oracleは、ダービーいつかを殺すだろうし、それは永遠に行くことができない恐れがあります。ハウスキーピングが始まるときダービーは、おそらく最初の犠牲者となります。

だから、私はクレームはSQLiteのための「純粋なJavaの」JDBCドライバを持っているSQLiteJDBC、見ていました。今、私は1つが任意のOS上で任意のJVMでドライバを実行できることを、何のOSの依存関係や追加のライブラリが存在しないことを意味する「ピュアJava」を理解するであろう。だから、私は行くとピュアJavaドライバとjarファイルを取得します。そして好奇心ソートされて、私はそれの内側に見えます。それから私は、次のように、それは、「.libファイル」の拡張子を持つルートに4つのファイルが含まれて気づくます:

のlinux-amd64.lib
linux-x86.lib
MAC-universal.lib
WIN-x86.lib

[OK]を、ので、それを何までですか?これらは、名前のOSのためのネイティブライブラリのようなもの?もしそうなら、私はこの純粋なJavaドライバのみジャーに適切なLIBファイルとプラットフォーム上で実行されると仮定することができますか?その場合はwinX64およびSolarisは、我々の2つの最も重要なOSのここにいるので、私は嘆かわしい、候補のリストのSQLiteを取り出す必要があります。

それとも私が誤解しました、純粋なJavaドライバが本当にJavaの純粋であり、それがどのJVMで動作しますか。

すべての応答は歓迎!!!

事前に

おかげで、 ジョン

役に立ちましたか?

解決

私が正しく理解していれば、SQLiteJDBC自体は、タイプ4 JDBCドライバですが、SQLiteのはまだCベースのソリューションであり、SQLのようなネットワーク統合/プロトコル層を持っていないので、まだホスト・オペレーティング・プラットフォームにはいくつかのネイティブバイナリの統合が必要です*私の知る限りでは、Oracle用ネット。 GCCランタイム環境がある場所にクロスプラットフォームを展開することが可能に表示されるようSQLiteJDBCホームページは、GCCでサポートされている任意の言語のための「NestedVM」の実装に言及しています。 Solarisのの言及は、しかし、ありませんでした。

scroll top