SQLite データベース

SQLiteデータベースは、シングルユーザで自己完結型のトランザクショナルSQLデータベースエンジンです。サーバや何らかのインストール処理または設定を必要としません。

Magic xpaのインストール処理時に、コンポーネントとして選択されることなく、常にインストールされます。

以下は、SQLiteデータベースで動作させるために指定する情報です。

位置

SQLiteは、テーブル位置としてrowidをサポートします。デフォルトの位置は、ROWIDです。

定義取得

SQLiteでは、プライマリキーが自動インクリメントをもつ一つのカラムで構成されている場合、定義取得ユーティリティはテーブル構造内のキーを取得しません。カラムを使用している分離インデックスがないからです。インデックスは、内部的にrowidを参照しています。

ヒント

ヒントはサポートされないため無視されます。

分離レベル

分離レベルは変更できません。DBMS上で変更しても無視されます。

ジョイン

内部結合、外部結合は、SQLサーバを使用した場合と同じ構文を使用して実装しなければなりません。

トランザクション

物理/遅延トランザクションをサポートします。

配列の取得

SQLiteは、配列の取得をサポートしません。したがって、[配列サイズ]の設定は無視され、レコードは一度に1つのレコードを取得します。

並行実行

一つのMagicエンジン、または同じPC上の複数のエンジンが、並行プログラムでSQLiteにアクセスするかもしれません。この場合は、SQLiteファイルが排他ロックされるため、1スレッド/EXEでのみ物理トランザクションを開始することができます。

APG

DSQLのSELECTステートメント内でAPGを使用した場合、カラムの[NULL値可]特性が「Yes」に設定されます。

識別

識別は、"INTEGER PRIMARY KEY"タイプとして定義されなければなりません。

SQLiteは、複数のINTEGER PRIMARY KEYフィールドを許可しません。

識別フィールドは、SQLiteのINT64データ型として保持されます。したがって、8バイトのデータを保持するために、数値フィールドを作成しなければなりません。

管理ツール

管理ツールは提供されていませんが、フリーソフトとして提供されているものを使用することでデータベースファイルの内容を参照することができます。

インデックス

1つのデータベースファイル内には、重複したインデックス定義することができません。例えば、2つのデータソースが同じデータベースファイルに格納される場合、各デーデータソースのインデックスに定義されている[DBインデックス名]特性に重複した値がある場合、インデックスが作成されなくなります。

 

注意:

テーブルの作成時に"unrecognized token"エラーが発生する場合は、データソースのカラムの[データベースデフォルト値]特性を二重引用符 囲んで定義するようにしてください。

関連トピック: