|
dbnames.cfg ファイルへエントリを追加することによって、データベースを作成します。このエントリは、後で DSN の作成に使用されます。
ヘッダー ファイル:catalog.h(「ヘッダー ファイル」も参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)(「リンク ライブラリ」も参照)
BTI_API PvCreateDatabase( BTI_LONG hConnection, BTI_CHAR_PTR dbName, BTI_CHAR_PTR dictPath, BTI_CHAR_PTR dataPath, BTI_ULONG dbFlags);
In
|
hConnection
|
サーバーを識別する接続ハンドル。接続ハンドルは PvConnectServer() (DTI 関数)関数によって取得されます。
|
In
|
dbName
|
データベース名。
|
In
|
dictPath
|
辞書パス。
|
In
|
dataPath
|
データ パス。デフォルトのデータ パス(つまり、辞書パスと同じパス)を使用するには、空文字列を渡します。
複数のパスに保存された トランザクショナル インターフェイス データ ファイルから構成されるデータベースを作成する場合は、このパラメーターにセミコロン(;)で区切られた一覧を指定します。たとえば、次のようにします。
C: ¥ data ¥ path1;C: ¥ data ¥ path2
|
In
|
dbFlags
|
データベース フラグ。P_DBFLAG_ 定数を組み合わせて指定できます。
P_DBFLAG_RI(参照整合性およびトリガーを含む、整合性制約を設定します。)
P_DBFLAG_BOUND(DDF ファイルを作成してデータベース名を辞書にスタンプし、そのデータベースのみが DDF を使用できるようにします。データベースがバインドされていない場合は、複数のデータベースで同一の辞書ファイル セットを使用できます。)バウンド データベースを作成するときに既存の DDF ファイルにバインドしたい場合は、P_DBFLAG_CREATE_DDF と P_DBFLAG_BOUND の両方を指定します。
P_DBFLAG_CREATE_DDF(DDF ファイルを作成します。dictPath に指定されたディレクトリは存在している必要があります。)
P_DBFLAG_DBSEC_AUTHENTICATION(データベース セキュリティ認証の混合セキュリティを使用します。Btrieve セキュリティ ポリシーを参照してください)。
P_DBFLAG_DBSEC_AUTHORIZATION(データベース セキュリティ認証のデータベース セキュリティ ポリシーを使用します。Btrieve セキュリティ ポリシーを参照してください)。
P_DBFLAG_LONGMETADATA(メタデータ バージョン 2 を使用します。メタデータのバージョンを参照してください)。
|
以下の前提条件を満たす必要があります。
次の表は、新規データベースでセキュリティ モデルを指定する方法、および既存データベースのセキュリティ モデルを解釈する方法を示しています。セキュリティにほかのフラグの組み合わせを使用すると、ステータス コード 7024 が返される結果となります。
フラグの組み合わせ
|
相当するセキュリティ モデル
|
---|---|
フラグなし
|
クラシック
|
P_DBFLAG_DBSEC_AUTHENTICATION
|
混合
|
P_DBFLAG_DBSEC_AUTHENTICATION + P_DBFLAG_DBSEC_AUTHORIZATION
|
データベース
|
P_DBFLAG_LONGMETADATA を指定した場合、dbnames.cfg のデータベース プロパティは メタデータ バージョン 2 に設定されます。P_DBFLAG_LONGMETADATA および P_DBFLAG_CREATE_DDF を指定した場合、作成される DDF も メタデータ バージョン 2 です。
DDF 作成の結果は、辞書の場所に既に存在する DDF のバージョンによって異なります。
辞書の場所にあるもの
|
DDF 作成の結果
|
---|---|
DDF なし
|
辞書の場所に新規 DDF が追加されます。
|
別のメタデータ バージョンの DDF
|
既存の DDF のグループに新規 DDF が追加されます。
|
同じメタデータ バージョンの DDF
|
新規 DDF が既存の DDF を上書きします。古い DDF に含まれる情報は失われます。
|
たとえば、辞書の場所にメタデータ バージョン 1 DDF があってメタデータ バージョン 2 DDF を作成するとします。辞書の場所には、メタデータ バージョン 1 DDF とメタデータ バージョン 2 DDF の組み合わせが含まれることになります。あるデータベースは 1 組の DDF またはほかの 1 組の DDF を使用できますが、両方を同時に使用することはできません。
以下の例では、メタデータ バージョン 2 を使用するデータベースと DDF を作成します。
BTI_LONG connectionHandle = P_LOCAL_DB_CONNECTION; BTI_CHAR_PTR dataPath = "c:¥¥data¥¥gallery"; BTI_CHAR_PTR dictPath = "c:¥¥data¥¥gallery"; BTI_CHAR_PTR databaseName = "Gallery"; BTI_SINT status = 0; BTI_CHAR_PTR server = "MyServer"; BTI_CHAR_PTR user = "Administrator"; BTI_CHAR_PTR pwd = "Admin"; // リモートの場合のみ、サーバーへの接続が必要となる // リモートでない場合は、ハンドルとして P_LOCAL_DB_CONNECTION を渡すことができる status = PvCreateDatabase( connectionHandle, databaseName, dictPath, dataPath, P_DBFLAG_CREATE_DDF, P_DBFLAG_LONGMETADATA);
PvStart() (DTI 関数)
PvConnectServer() (DTI 関数)
PvGetDbFlags() (DTI 関数)
PvModifyDatabase() (DTI 関数)
PvDropDatabase() (DTI 関数)
PvDisconnect() (DTI 関数)
PvStop() (DTI 関数)
|