2010-12-14 4 views
3

私は自分のサイトについていくつかの調査をしましたが、いくつかのGoogle-ingの後では、C & C++のドライバしかないようです。 SQLLiteで使用できるオープンドライバーはありますか、それともJDBCで使用できる方法はありますか?JavaでSQLite用のドライバはありますか?

UPDATE

私は、Linux上で開発をやっているが、私は開いている私のオプションを維持したいと思います。ネイティブライブラリは動作しますが、Javaで慣れていたクロスプラットフォームの自由を与えません。

答えて

2

SQLiteはネイティブライブラリです。したがって、プラットフォームに依存しないソリューションはそれほど簡単ではありません。 SQLiteJDBCプロジェクトでは、内部的には複雑ですが、実用的なシステムを使用して、SQLiteデータベースプラットフォームに依存しない(ほとんどのプラットフォームで優れた速度で)アクセスします。名前が暗示しているように、JDBC経由で使用することができます(メインページのコードサンプルを参照)。

特定のプラットフォームが1つだけ必要な場合は、SQLite Java wrapperも使用できます。ウィンドウの場合、コンパイル済みのバイナリがあります。ソースも利用可能です。

+0

同じことをするネイティブライブラリについて知っていますか? – bakoyaro

+0

Linux用にコンパイル済みのバイナリを提供することは大きな問題です。私は一度それを試しました - あなたはlibに静的にすべてをコンパイルする必要があります。 SQLite Javaラッパーを標準のmake && make installで直接コンパイルするか、SQLite Javaラッパーを直接使用する方がよいでしょう。後者には、さまざまなプラットフォーム用の多数のネイティブJNIライブラリが含まれています。一致しない場合は、どこでも動作するエミュレーションコードを使用します。 – Robert

4

SQLite JDBCは完全にJavaで書かれているため、外部依存関係はありません。

+0

私はそれについては聞いていませんが、私はそれをオプションで調べます – bakoyaro

3

私が使用しているorg:xerial:sqlite-jdbc

例のGroovyスクリプト:

@Grab(group='org.xerial', module='sqlite-jdbc', version='[3.6.4,)') 
sql = groovy.sql.Sql.newInstance("jdbc:sqlite:test.db","org.sqlite.JDBC") 
sql.execute("create table students(name, age)") 

(注:3.6.4ではありません最新版)

+0

sqlite-jdbc(現在のバージョン2017-10-08:sqlite-jdbc-3.20.1)は、github:https://github.com/xerial/sqlite-jdbcでホストされています。関連項目:https://stackoverflow.com/a/1525453/1689714 –

1

も純粋なJavaの独自の実装であるSQLJet、ありこれはsqliteと互換性があります。

関連する問題