手順
このトピックでは、ユーザー定義表について、ファイルの命名の競合を処理する方法の例をいくつか示します。 アプリケーションが 以下の CREATE TABLE ステートメントを実行するとします。
CREATE TABLE T (PK INT NOT NULL PRIMARY KEY, A INT)
このステートメントが実行されると、DB2 Everyplace は 表 T について以下の 2 つのファイルを作成します。
ユーザーが別の表を作成して iT という名前を使用すると、DB2 Everyplace は 2 つの 追加ファイル DSY_iT (データ) と DSY_iiT (索引) を作成します。 表 T の索引ファイルと表 iT のデータ・ファイルは、同じ名前であるために 競合が発生します。両方のファイルが DSY_iT という名前になります。 この問題を避けるために、 DB2 Everyplace はファイル名のマッピングをサポートしています。 つまり、 ファイル名は DB2 Everyplace によって完全に作成および管理されます。この フィーチャーを使用するには、アプリケーションが接続属性を設定しなければならず、最初の表が作成される前に 実行されなければなりません。 例えば CLI では次のようになります。
SQLSetConnectAttr(hdbc, SQL_ATTR_FILENAME_FORMAT, (SQLPOINTER)SQL_FILENAME_FORMAT_83, 0)
あるいはコマンド行プロセッサーでは次のようになります。
DISABLE LONG FILENAME
このコマンドが実行されて最初の表が作成されると、生成されるファイルは 表 T のものになります。
関連した概念
関連したタスク