This is an old revision of the document!


SQLite バージョン 3.xx

注意: このページに書かれている情報は、POPFile を Windows 環境でインストーラを使ってインストールした場合には 該当しません。インストーラは POPFile と互換性のあるバージョンの SQlite を含んでおり、あなたのシステムの他のソフトウェアに影響しないように必要なライブラリをインストールします。

簡単な概要

DBD::SQLite 0.31 とそれ以前 なにも変更せずにインストールすることができます(ただし、v1.x を試して、データベースを変換して戻さなければいけない Sqlite3 形式になっている場合を除きます)

DBD::SQLite2 0.32 - 0.33 変更が 必要です: 設定ファイルの Bayes_dbconnect を dbi:SQLite:dbname=$dbname… から dbi:SQLite2:dbname=$dbname… に変更します。 (v1.X を試して、データベースを変換しなければいけない Sqlite3 形式になっていても同様です)

DBD::SQLite 1.x POPFile に変更を加えなければ(まだ)動きません。このバージョンは、DBD::SQlite 0.33 (上記)に設定を変更することによって POPFile (他のアプリケーションについても同様です)と共存することができます。そして、他のアプリケーションについては、sqlite 1.x ドライバで動作するようにします。

背景

2004 年の 7 月に SQLite バージョン 3 がリリースされました。このバージョンは SQLite バージョン 2 との間に重大な変更があります。この変更にはデータベースファイル形式の変更も含まれ、これによって 2 つのバージョンには互換性がありません。

  • SQLite 3 のデータベースは SQLite 2 のデータベースと互換性がありません。SQLite 2 のデータベースは、SQLite 3 形式に変換されなければいけません。
  • SQLite 3 のコマンドラインツールは、混乱を避けるために sqlite3 という名前に変更されました。SQLite 2 のコマンドラインツールは、sqlite のままです。
  • 内部的には、SQLite 3 の命令とライブラリはすべて最後に 3 がつけられています。これも混乱を避けるためです。

SQLite に接続するための Perl インタフェースモジュールの新しいバージョン、DBD::SQLite も 7 月にリリースされました。残念ながら、このリリースはこれまで使っていたものと同じ名前、番号のスキームのために、混乱を引き起こしました。

  • CPAN - いくつかのアップデートされたバージョンが CPAN でリリースされました;
    • DBD::SQLite2 0.32 - 0.33 - このバージョンは、SQLite 2 と互換性があります(現在の POPFile とも互換性があります)
    • DBD::SQLite 1.00 - 1.06 - これらのバージョンは SQLite 3 と互換性がありますが、解決されていない問題やバグのために POPFile とは現在のところ互換性がありません。
  • PPM - Activestate Repository にリリースされたものはさらに混乱を引き起こしました。これまでのところ、SQLite 3 と互換性のあるモジュールは PPM 経由では存在していません。
    • DBD::SQLite 1.00 - このバージョンは、CPAN のバージョンの同じバージョン番号のものと同じではありません。このバージョンは、SQLite 2 と互換性があり、SQLite 3 とは互換性がありません。このバージョンは POPFile とは完全にテストされていませんが、現在のリリースで使えるものと思われます。

あなたのマシンにインストールされた DBD::SQLite のバージョンを調べるためには、以下の 1 行 Perl スクリプトを使用します。

 perl -MDBD::SQLite -e 'print $DBD::SQLite::VERSION'

関連

データベースファイルの互換性がないことととバージョンの混乱のため、SQLite を使う人はを以下の問題点を見ることから始めるようにしてください。SQLite を使用する Perl パッケージをインストールしている場合は特に。

  • DBD::SQLite モジュールを CPAN を使用してアップグレードした場合、SQLite がバージョン 3 にアップグレードされ、あなたのマシンにある SQLite 2 のすべてのデータベースをバージョン 3 の形式に変換しなければいけません。
  • POPFile は現在のところ、DBD::SQLite 1.00 - 1.06 との問題のために SQLite バージョン 3 と互換性がありません。これらの問題は POPFile の将来のバージョンで解決されるものと予想されます。
  • SQLite バージョン 2 と バージョン 3 のデータベースを Perl 環境から使用するためには、DBD::SQLite2 をインストールしてバージョン 2 のデータベースを扱い、DBD::SQLite 1.xx でバージョン 3 のデータベースを扱うようにしなくてはいけません。

推奨

POPFile の開発者が SQLite3 との互換性の問題を解決するまでの間、SQLite3 を POPFile とともに使用することを推奨しません。

あなたのマシンの他のアプリケーションのために Perl モジュールの SQLite をバージョン 3 にアップグレードしなければならないのであれば、DBD::SQLite2 をインストールして、UIの詳細設定タブ (あるいは popfile.cfg) でデータベース接続のための文字列を以下のように変更することを推奨します。

bayes_dbconnect を

dbi:SQLite:dbname=$dbname

から

dbi:SQLite2:dbname=$dbname

に変更します。

変更した内容を有効にするためには、POPFile を終了して再起動する必要があることに注意してください。

将来

問題が解決して、POPFile の開発者が十分に POPFile と SQLite 3 のテストをすることができれば、新しいバージョンへの移行を行う予定です。その際には、POPFile のデータベースの変換も行われることになるでしょう。

原文

 
jp/sqlite3.1202496561.txt.gz · Last modified: 2008/12/03 06:04 (external edit)

Should you find anything in the documentation that is incomplete, unclear, outdated or just plain wrong, please let us know and leave a note in the Documentation Forum.

Recent changes RSS feed Donate Driven by DokuWiki
The content of this wiki is protected by the GNU Fee Documentation License