|
Create オペレーション(B_CREATE)では、アプリケーション内部から新しいデータ ファイルを生成できます。Create オペレーションにはファイルの削除または名前変更ができるサブファンクションもあります(Create オペレーションによる削除および名前変更サブファンクションを参照)。
メモ
同じディレクトリに、ファイル名が同一で拡張子のみが異なるようなファイルを置かないでください。たとえば、同じディレクトリ内のデータ ファイルの 1 つに Invoice.btr、もう 1 つに Invoice.mkd という名前を付けてはいけません。このような制限が設けられているのは、データベース エンジンがさまざまな機能でファイル名のみを使用し、ファイルの拡張子を無視するためです。ファイルの識別にはファイル名のみが使用されるため、ファイルの拡張子だけが異なるファイルは、データベース エンジンでは同一のものであると認識されます。
既存のファイルを基に空のファイルを作成する場合は、Create オペレーションを実行する前に必ずその既存ファイルは閉じているようにします。
表 8 は、ファイル仕様およびキー仕様を格納する順序を示しています。
説明
|
データ型1
|
バイト番号
|
値の例2
|
||
---|---|---|---|---|---|
ファイル仕様
|
|||||
論理固定レコード長3
|
Short Int4
|
0, 1
|
すべてのフィールドを結合したサイズです。
|
||
ページ サイズ
|
Pervasive PSQL 6.x から 9.4
|
Short Int
|
2, 3
|
512
|
|
Pervasive PSQL 6.x 以上
|
1,024
|
||||
Pervasive PSQL 6.x から 9.4
|
1,536
|
||||
Pervasive PSQL 6.x 以上
|
2,048
|
||||
Pervasive PSQL 6.x から 9.4
|
3,072
|
||||
3,584
|
|||||
Pervasive PSQL 6.x 以上
|
4,096
|
||||
Pervasive PSQL 9.0 から 9.4x
|
8,192
|
||||
Pervasive PSQL 9.5 以上
|
16,384
|
||||
ほとんどのファイルでは最小サイズの 4096 バイトが最も効率的です。微調整を行う場合の詳細については、『Pervasive PSQL Programmer's Guide』の「ページ レベル圧縮を用いたファイルの作成」を参照してください。
9.5 ファイル形式のファイルを作成する場合、指定された論理ページ サイズがそのファイル形式で有効ならば、MicroKernel は指定値の次に大きな有効値があるかどうかを調べ、存在する場合はその値に切り上げます。それ以外の値やファイル形式の場合、オペレーションはステータス コード 24 で失敗します。古いバージョンのファイル形式では切り上げは行われません。
|
|||||
キー(インデックス)数
|
Byte
|
4
|
|
||
ファイル バージョン
|
Byte
|
5
|
0x60
|
バージョン 6.0
|
|
0x70
|
バージョン 7.0
|
||||
0x80
|
バージョン 8.0
|
||||
0x90
|
バージョン 9.0
|
||||
0x95
|
バージョン 9.5
|
||||
0x00
|
データベース エンジンのデフォルトを使用
|
||||
予約済み(Create オペレーションでは使用しません。)
|
予約済み
|
6- 9
|
0
|
||
ファイル フラグ。ファイル属性を指定します。ファイルの例では、ファイル フラグを使用していません。
|
Short Int
|
10, 11
|
0
|
||
追加ポインター数。将来のキーの追加のために予約する重複ポインター数を設定します。ファイル属性で予約重複ポインターを指定する場合に使用します。
|
Byte
|
12
|
0
|
||
予約済み(Create オペレーションでは使用しません。)
|
予約済み
|
13
|
0
|
||
プリアロケート ページ数。事前に割り当てられるページ数を設定します。ファイル属性でページ プリアロケーションを指定する場合に使用します。
|
Short Int
|
14, 15
|
0
|
||
キー 0(ラスト ネーム)のキー仕様
|
|||||
キー ポジション。レコード内のキーの最初のバイトの位置を指定します。レコード内の最初のバイトは 1 です。
|
Short Int
|
16, 17
|
1
|
||
キー長。バイト単位でキーの長さを指定します。
|
Short Int
|
18, 19
|
25
|
||
キー フラグ。キー属性を指定します。
|
Short Int
|
20, 21
|
EXTTYPE_KEY + NOCASE_KEY + DUP + MOD
|
||
Create には使用しません。
|
Byte
|
22-25
|
0
|
||
拡張キー タイプ。キー フラグで「拡張キー タイプを使用する」を指定する場合に使用します。拡張データ型のうちの 1 つを指定します。
|
Byte
|
26
|
ZSTRING
|
||
ヌル値(レガシー ヌルのみ)。キー フラグで「ヌルキー(すべてのセグメント)」または「ヌルキー(任意のセグメント)」を指定する場合に使用します。キーの除外値を指定します。レガシー ヌルと真のヌルの概念については、「ヌル値」を参照してください。
|
Byte
|
27
|
0
|
||
Create には使用しません。
|
Byte
|
28, 29
|
0
|
||
手動割り当てキー番号。ファイル属性で「キー番号」を指定する場合に使用します。キー番号を割り当てます。
|
Byte
|
30
|
0
|
||
ACS 番号。キー フラグで「デフォルトの ACS を使用する」、「ファイル内の番号付きの ACS を使用する」または「名前付きの ACS を使用する」を指定する場合に使用します。使用する ACS 番号を指定します。
|
Byte
|
31
|
0
|
||
キー 1(社員 ID)のキー仕様
|
|||||
キー ポジション。(社員 ID は、ミドル イニシャルの後の最初のバイトから始まります。)
|
Short Int
|
32, 33
|
52
|
||
キー長。
|
Short Int
|
34, 35
|
4
|
||
キー フラグ。
|
Short Int
|
36, 37
|
EXTTYPE_KEY + MOD
|
||
Create には使用しません。
|
Byte
|
38-41
|
0
|
||
拡張キー タイプ。
|
Byte
|
42
|
INTEGER
|
||
ヌル値。
|
Byte
|
43
|
0
|
||
Create には使用しません。
|
Byte
|
44, 45
|
0
|
||
手動割り当てキー番号。
|
Byte
|
46
|
0
|
||
ACS 番号。
|
Byte
|
47
|
0
|
||
ページ圧縮のキー仕様
|
|||||
物理ページ サイズ5
|
Char
|
A
|
512
(デフォルト値) |
||
1 特に指定がない場合、すべてのデータ型は符号なしです。
2 簡素化を図るため、数値以外の値の例は C アプリケーションの場合です。
3 可変長レコードを持つファイルの場合、論理レコード長はレコードの固定長部分のみを指します。
4 Short Integer(Short Int)は「リトル エンディアン」のバイト順、つまり、Intel 系のコンピューターが採用している下位バイトから上位バイトへ記録する方式で格納する必要があります。
5 ページ レベル圧縮でのみ使用します。ページ圧縮ファイル フラグ(表 6 を参照)と組み合わせて使用する必要があります。詳細については、『Pervasive PSQL Programmer's Guide』の「ページ レベル圧縮を用いたファイルの作成」を参照してください。
|
メモ
トランザクショナル インターフェイスは Create オペレーションではデータ バッファーの「未使用」および「予約済み」領域を使用しませんが、それらを割り当てておく必要があります。将来のリリースとの互換性を維持するため、予約済み領域はゼロに初期化してください。
データ バッファーの先頭 16 バイトにはファイル仕様を格納します。バイトは 0 から数え始めます。レコード長、ページ サイズおよびインデックス数の情報を整数で格納します。
論理レコード長。(オフセット 0x00)論理レコード長はファイルの固定長データのバイト数です(論理レコード長には可変長データを含めないでください)。
ページ サイズ。(オフセット 0x02)ページ サイズはファイル形式のバージョンによって決まっています。『Pervasive PSQL Programmer's Guide』の「ページ サイズの選択」を参照してください。
インデックス数。(オフセット 0x04)インデックス数はファイルに対して定義しているキーの数です。キー セグメント数ではありません。データオンリー ファイルを作成するには、インデックス数に 0 を設定します。
ファイル バージョン。(オフセット 0x05)作成するトランザクショナル インターフェイスのファイル バージョンです。前のリリースでは、トランザクショナル インターフェイスは 2 バイト整数を使って Create オペレーションでインデックス数を取得していました。インデックスの最大数は 119 であるため、この整数の上位バイトは常にゼロでした。この上位バイトは、Stat オペレーションではファイル バージョンを返すために常に使用されていますが、以前のアプリケーションを破棄しなくとも、Create オペレーションでファイル バージョンの指定に使用できるようになりました。Create でサポートされるファイル バージョンは 6.x、7.x、8.x、9.x、9.5 です。これらは、それぞれ 16 進数の値 0x50、0x60、0x70、0x80、0x90、0x95 で特定のバイトに示されます。
物理ページ サイズ。(オフセット 0xA)このフィールドは、以前は「未使用」とマークされていました。このフィールドはページ圧縮ファイル フラグと組み合わせて使用されます。ページ圧縮フラグが指定されていなければ、このフィールドは無視されます。
バージョン 6.x 以降のデータ ファイルでは、論理ページは物理ページに割り当て、ページ アロケーション テーブル(PAT)に格納します。物理ページのサイズは論理ページのサイズと同一です。ページ圧縮は 9.5 以降のファイル形式で使用できます。データベース ページはページ レベルで圧縮されます。各論理ページは、1 つ以上の物理ページ単位に圧縮されます。これら個々の物理ページのサイズは、1 論理ページよりも小さくなります。
物理ページ サイズ フィールドを使用して、ファイルで使用する物理ページ サイズを指定できます。このフィールドで指定する値は、使用される実際の物理ページ サイズを決定するため、512 の倍数にします。ゼロを指定すると、エンジンは物理ページ サイズのデフォルト値を使用します。デフォルト値は 512 バイトです。
物理ページ サイズに指定された値は、論理ページ サイズに指定された値よりも大きくすることはできません。物理ページ サイズに指定された値の方が大きい場合、エンジンは論理ページ サイズと同じになるようその値を切り捨てます。論理ページ サイズは物理ページ サイズの倍数になっていなければなりません。倍数でない場合、その論理ページ サイズの値は物理ページ サイズの値のちょうど倍数になるよう切り捨てられます。このような操作の結果として、論理ページ サイズと物理ページ サイズの値が同じになった場合、ページ レベルの圧縮はこのファイルに適用されません。『Pervasive PSQL Programmer's Guide』の「ページ レベル圧縮を用いたファイルの作成」も参照してください。
ファイル フラグ。(オフセット 0x0A)ファイル フラグ ワードのビットをセットして、ファイルの属性を指定します。表 9 に、ファイル フラグの値の 2 進、16 進、および 10 進表記を示します。
属性
|
定数
|
2 進数
|
16 進数
|
10 進数
|
---|---|---|---|---|
可変長レコード
|
VAR_RECS
|
0000 0000 0000 0001
|
1
|
1
|
ブランク トランケーション
|
BLANK_TRUNC
|
0000 0000 0000 0010
|
2
|
2
|
ページ プリアロケーション
|
PRE_ALLOC
|
0000 0000 0000 0100
|
04
|
4
|
データ圧縮
|
DATA_COMP
|
0000 0000 0000 1000
|
08
|
8
|
キーオンリー ファイル
|
KEY_ONLY
|
0000 0000 0001 0000
|
10
|
16
|
インデックス バランス
|
BALANCED_KEYS
|
0000 0000 0010 0000
|
20
|
32
|
10% 空きスペース スレッショルド
|
FREE_10
|
0000 0000 0100 0000
|
40
|
64
|
20% 空きスペース スレッショルド
|
FREE_20
|
0000 0000 1000 0000
|
80
|
128
|
30% 空きスペース スレッショルド
|
FREE_30
|
0000 0000 1100 0000
|
C0
|
192
|
予約重複ポインター
|
DUP_PTRS
|
0000 0001 0000 0000
|
100
|
256
|
システムデータを含める1
|
INCLUDE_SYSTEM_DATA
|
0000 0010 0000 0000
|
200
|
512
|
システム データを含めない
|
NO_INCLUDE_SYSTEM_DATA
|
0001 0010 0000 0000
|
1200
|
4,608
|
キー番号
|
SPECIFY_KEY_NUMS
|
0000 0100 0000 0000
|
400
|
1,024
|
VAT の使用
|
VATS_SUPPORT
|
0000 1000 0000 0000
|
800
|
2,048
|
ページ圧縮の使用2
|
PAGE_COMPRESSED
|
0010 0000 0000 0000
|
2000
|
8,192
|
1 システム データをファイルに含めるかどうかを明示的に指定していない場合、Btrieve API は、トランザクショナル インターフェイス設定オプションの「システム データ」のその時点の設定を使用します。
2 ページ レベル圧縮でのみ使用します。「物理ページ サイズ」キー仕様と組み合わせて使用されます。詳細については、『Pervasive PSQL Programmer's Guide』の「ページ レベル圧縮を用いたファイルの作成」を参照してください。
|
互換性のないフラグの使用は避けてください。同一ビット位置を使用するフラグ間には互換性はありません。未使用のビットは将来使用するために予約されています。これらのビットには 0 を設定します。
ファイルの属性を組み合わせるには、対応するファイル フラグの値を加算します。たとえば、可変長レコードを含むことができ、ブランク トランケーションを行うファイルを指定するには、ファイル フラグ ワードを 3(2 + 1)に初期化してください。可変長レコードのビットが 0 に設定されている場合、トランザクショナル インターフェイスではブランク トランケーションおよび空きスペース スレッショルドのビットを無視します。
ページ プリアロケーションのビットを設定する場合は、ファイル仕様ブロック(アロケーション)の最後の 2 バイトを使用して、ファイルにプリアロケートするページ数を指定する整数値を格納してください。データ圧縮のビットを設定した場合、トランザクショナル インターフェイスでは可変長レコードのビットが無視されます。キーオンリー ファイルのビットを設定した場合、トランザクショナル インターフェイスではシステム データのビットが無視されます。
データベース エンジンは、システム データを使用しており、レコード長が許容最大サイズを超えるファイルについては自動的にデータ圧縮を使用します。『Pervasive PSQL Programmer's Guide』の表 12 を参照してください。
ファイルを作成した後でインデックスの追加が予想され、そのインデックスに多数の重複した値が含まれる場合は、重複ポインターのビットを設定します。このビットを設定すると、トランザクショナル インターフェイスでは重複した値をリンクするポインターのためにファイルの各レコードにスペースが確保されるようになります。このようなスペースを確保することにより、特に、キーが長く、多数のレコードが重複するキー値を持つことが予測される場合には、検索時間を短縮し、ディスク領域を節約できる場合があります。
メモ
重複ポインターの領域は、ファイル作成後に追加されるインデックスのみを対象に予約できます。したがって、重複値へのポインターのために領域を確保するときは、この Create オペレーションの実行中に作成されるインデックスの領域は含めないでください。また、繰り返し重複キーとして指定されるキーについて、トランザクショナル インターフェイスは重複ポインターの領域を確保しません。
特定の番号をキーに割り当てることが必要な場合は、キー番号のビットを設定し、希望するキー番号をキー仕様ブロックの手動割り当てキー番号要素(オフセット 0x0E)に入れます。トランザクショナル インターフェイスではキー番号が連続している必要はありません。つまり、ファイルのキー番号は飛んでいてもかまいません。キーが作成されると、トランザクショナル インターフェイスはデフォルトで、0 から始まるキー番号のうち使用可能な最小の番号をそのインデックスに割り当てます。ただし、アプリケーションによっては、デフォルトの割り当てとは異なるキー番号が必要なこともあります。
ファイルで可変長部割り当てテーブルを使用する場合は、VAT の使用のビットを設定します。VAT を使うには、ファイルで可変長レコードを使用していることが必要です。
予約する重複ポインター数。(オフセット 0x0C)予約する重複ポインター数をファイルごとに指定できます。予約重複ポインターのファイル フラグを指定した場合にのみ、この要素を使用してください。重複キーの詳細については、『Pervasive PSQL Programmer's Guide』の「重複キー」を参照してください。
アロケーション。(オフセット 0x0E)プリアロケートするページ数を指定できます。ページ プリアロケーションのファイル フラグを指定した場合にのみ、この要素を使用してください。ページのプリアロケーションの詳細については、『Pervasive PSQL Programmer's Guide』の「ページ プリアロケーション」を参照してください。
ファイル仕様のすぐ後にキー仕様ブロックを配置します。ファイルのキー セグメントごとに 16 バイトのキー仕様ブロックを割り当てます。キー ポジションおよびキー長の情報は整数で格納します。
キー セグメントの最大許容数は、ファイルのページ サイズによって異なります。
『Status Codes and Messages』のステータス コード 「26:指定されたキーの数が不正です。」および 「29:キー長が不正です。」を参照してください。
キー ポジション。(オフセット 0x00)キー ポジションは、キーまたはキー セグメントの開始位置のバイト オフセットです。ポジションは 1 からの相対になります。レコードの先頭に位置するキーは、ポジション 1 から始まります。ポジション 0 はありません。
キー長。(オフセット 0x02)キーまたはキー セグメントの長さです。キーの最大長は、すべてのキー セグメントを含めて、255 バイトです。
キー フラグ。(オフセット 0x04)キー フラグ ワードのビットをセットして、キーの属性を指定します。表 10 に、キー フラグの値の 2 進、16 進、および 10 進表記を示します。
互換性のないフラグの使用は避けてください。同一ビット位置を使用するフラグ間には互換性はありません。未使用のビットは将来使用するために予約されています。これらのビットには 0 を設定します。
キーの属性を組み合わせるには、対応するキー フラグの値を加算します。たとえば、キーが拡張キー タイプで、セグメント キーの一部であり、さらに降順に照合される場合は、キー フラグ ワードを 336(256 + 16 + 64)に初期化します。
セグメント キー属性は、データ バッファー内の次のキー仕様ブロックが同一キーの次のセグメントを指すことを示します。セグメント キーについては以下の規則に従ってください。
ACS は、STRING、LSTRING および ZSTRING キーにのみ適用できます。大文字小文字の区別を無視し、かつ ACS を使用するキーを定義することはできません。あるキーの一部のセグメントにしか ACS が指定されていないファイルの場合、ACS が指定されているセグメントはその ACS に従ってソートされ、ACS が指定されていないセグメントはそれぞれの型に従ってソートされます。
拡張データ型。(オフセット 0x0A)拡張データ型をキー仕様ブロックのバイト 10 にバイナリ値で指定します。表 11 に、拡張データ型に対応するコードを示します。
拡張データ型のコード 12、13、16 および 21 から 24 までは将来使用するために予約されています。
STRING および UNSIGNED BINARY データ型は、標準型と拡張型のどちらとしても定義できます。これにより、以前のバージョンの Btrieve API を使って開発したアプリケーションとの互換性が保てる一方、新しいアプリケーションで拡張データ型を排他的に使用できるようになります。
キーに割り当てるデータ型に関し、入力したレコードがそのキーに定義されているデータ型に合っているかどうかは、トランザクショナル インターフェイスでは確認されません。たとえば、TIMESTAMP キーをファイルに定義することができますが、そこに文字列を格納することもできます。Btrieve API アプリケーションでは問題なく動作していても、ODBC アプリケーションで同じデータに ODBC TIMESTAMP データ型を使ってアクセスしようとすると、正常に動作しないことがあります。これはおそらく、バイトの形式が異なり、タイムスタンプ値を生成するアルゴリズムが異なるからです。データ型の説明については、『SQL Engine Reference』を参照してください。
ヌル値。(オフセット 0x0B)キー仕様ブロックのこのオフセットは、キーの除外値を表します。あるキーをヌル キーとして定義した場合は、各キー セグメントのヌル値として認識させる値をトランザクショナル インターフェイスに提供する必要があります。これは、レガシー ヌルへの参照内にあり、真のヌルには影響しません。ヌルのサポートの説明については、『Pervasive PSQL Programmer's Guide』の「ヌル値」を参照してください。
手動割り当てキー番号。(オフセット 0x0E)トランザクショナル インターフェイスでは、インデックス付きのファイルを作成するときに、アプリケーションで特定のキー番号を割り当てることができます。ファイルの各インデックスに手動でキー番号を割り当てるには、各キー番号をキー仕様ブロックのバイト 14 にバイナリ値で指定し、ファイル フラグ ワードにキー番号ビット(0x400)を設定します。
キー番号はファイルで一意であり、キー 0 から昇順に指定されていなければなりません。また、有効な値、つまり、ファイルのページ サイズに対するキーの最大数よりも小さい値でなければなりません。
手動でキー番号を割り当てるという機能は、キーを削除して、その削除したキーよりも大きなキー番号を持つすべてのキーの番号をトランザクショナル インターフェイスに付け替えさせないようにする機能と相補関係にあります。たとえば、アプリケーションからインデックスを削除し、トランザクショナル インターフェイスにそれよりも大きな番号を持つキーの番号を付け替えないように指示を出した場合、その後でユーザーが具体的なキー番号を割り当てずに影響を受けたファイルを複製すると、複製したファイルには元のファイルとは別のキー番号が割り当てられます。
ACS 番号。(オフセット 0x0F)特定の ACS を使用するキーの場合、キー仕様ブロックのオフセット 0x0F により、キーの照合に使用する ACS 番号が示されます。ACS 番号はデータ バッファー内の位置に基づいて決まります。最後のキー仕様ブロックに続く最初の ACS は、ACS 番号 0 になります。ACS 0 の次には ACS 1、その次には ACS 2、というように続きます。
アプリケーションでは、データ バッファー内の最後のキー仕様ブロックの直後から ACS を 1 つずつ順に指定します。
ユーザー定義の ACS。文字列値を ASCII 標準とは異なる並び順でソートする ACS を作成するには、表 12 に示す形式を使って、アプリケーションからデータ バッファーに直接 265 バイトを設定する必要があります。
ユーザー定義の ACS の例については、『Pervasive PSQL Programmer's Guide』の「オルタネート コレーティング シーケンス」を参照してください。
インターナショナル ソート規則(ISR)。ISR を指定するには、以下の形式でアプリケーションからデータ バッファーに直接 265 バイトを設定することが必要です。
データ バッファー長は、ファイル仕様、キー仕様、および定義されている ACS を十分に格納できるだけの長さを持つ必要があります。このパラメーターにファイルのレコード長を指定しないでください。
たとえば、1 セグメントのキーを 2 つと ACS を 1 つ持つファイルを作成するには、Create オペレーションのデータ バッファーには、以下のように、少なくとも 313 バイトの長さが必要です。
Create オペレーションのキー番号パラメーターは、同名のファイルが既に存在する場合にトランザクショナル インターフェイスが警告を出すかどうかを決定するために、また、ファイルの作成時にトランザクショナル インターフェイスがローカル エンジンとリモート エンジンのどちらを使用するかを決定するために使用されます。
表 14 を使って、キー番号パラメーターで使用する値を決定します。
メモ
ローカル エンジンでファイルを作成するよう指定する場合は、ワークグループ エンジンでもサーバー エンジンでも、Create オペレーションに何ら違いはありません。
CREATE オペレーション
|
選択しない
|
ローカル エンジンにファイルを作成させる
|
リモート エンジンにファイルを作成させる
|
---|---|---|---|
標準の作成(ファイルが既存の場合、上書きする)
|
0
|
6
|
99
|
ファイルが既存の場合、ステータス 59 を返す
|
-1
|
7
|
100
|
Create オペレーションには 2 つのサブファンクションがあり、これを使用してファイルの削除または名前変更ができます。
Pervasive.SQL v8.5 より前のリリースでは、オペレーティング システムを介してトランザクショナル インターフェイス ファイルを操作することは常に可能でした。これは、オペレーティング システムが Pervasive PSQL ユーザーに与える権限にトランザクショナル インターフェイスが依存していたためです。
しかし現在は、セキュリティが設定された Pervasive PSQL データベースがある場合、承認されていないアクセスからデータベースを保護する過程において、このようなオペレーティング システムのアクセス権は除去されることがあります。これにより、必ずしも必要な権限を利用できるとは限らなくなるため、プログラムによるファイルの削除や移動が困難になりました。
名前変更と削除のサブファンクションは、代替キー番号を持つ Create オペレーションとして実装されています。新規データ ファイルを作成する場合のようにファイル仕様を指定する必要はありません。Create オペレーションで名前変更と削除サブファンクションを使用するための設定方法を、次の表に示します。
機能
|
使用するキー番号
|
説明
|
データ バッファーに指定するもの
|
キー バッファーに指定するもの
|
---|---|---|---|---|
ファイルの名前変更
|
-127
|
データ バッファーの既存のファイルを、キー バッファーの名前に変更します。
|
既存のファイル名
|
新しいファイル名
|
ファイルの削除
|
-128
|
ファイルを削除します。
|
適用外
|
既存のファイル名
|
これらのサブファンクションはセキュリティ モデルで動作するように変更されました。その変更点として、サブファンクションは削除または名前変更するトランザクショナル インターフェイス ファイルを示すために、必要に応じて、キー バッファーおよびデータ バッファーでファイル名の代わりに URI を受け入れるようになりました。これにより、セキュリティ情報をオペレーションに指定することができます。URI 接続文字列の詳細については、『Pervasive PSQL Programmer's Guide』の「データベース URI」 を参照してください。
セキュリティ情報は、通常の Create または Open オペレーションとまったく同様に処理されます。ユーザーは認証され、かつ、既存のファイルに対して、また新しいファイルの保存場所となるディレクトリに対して DB_RIGHT_CREATE、DB_RIGHT_ALTER、および DB_RIGHT_OPEN 権限を持っている必要があります。
機能
|
URI パラメーター file=
|
URI パラメーター dbfile=
|
URI パラメーター table=
|
---|---|---|---|
名前変更
|
|
|
|
削除
|
|
|
|
Create オペレーションが正常に終了した場合は、トランザクショナル インターフェイスから同名のファイルが既に存在すると警告されるか、仕様に従って新しいファイルが作成されます。新規ファイルにはレコードは含まれていません。Create オペレーションでは作成したファイルを開きません。したがって、ファイルにアクセスするには、アプリケーションで Open オペレーションを実行する必要があります。
Create オペレーションが正常に実行されなかった場合は、トランザクショナル インターフェイスから次のステータス コードのいずれかが返されます。
Create オペレーションを実行しても、ファイルにカレンシーは確立しません。
|