|
新しいデータベース名、辞書パス、データ パス、およびデータベース フラグに指定された情報を使用して、既存のデータベースを変更します。
ヘッダー ファイル:catalog.h(ヘッダー ファイルも参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)(リンク ライブラリも参照)
BTI_API PvModifyDatabase( BTI_LONG hConnection, BTI_CHAR_PTR dbNameExisting, BTI_CHAR_PTR dbNameNew, BTI_CHAR_PTR dictPath, BTI_CHAR_PTR dataPath, BTI_ULONG dbFlags);
In
|
hConnection
|
サーバーを識別する接続ハンドル。接続ハンドルは PvConnectServer() (DTI 関数)関数によって取得されます。
|
In
|
dbNameExisting
|
既存のデータベース名。
|
In
|
dbNameNew
|
新規のデータベース名。データベース名を変更しない場合は、このパラメーターにヌルを設定します。
|
In
|
dictPath
|
辞書パス。
|
In
|
dataPath
|
データ パス。デフォルトのデータ パス(つまり、辞書パスと同じパス)を使用するには、この値にヌルを設定します。
複数のパスに保存された トランザクショナル インターフェイス データ ファイルを含んでいるデータベースを変更する場合は、このパラメーターにセミコロン(;)で区切られた一覧を指定します。たとえば、次のようにします。
C: ¥ data ¥ path1;C: ¥ data ¥ path2
|
In
|
dbFlags
|
データベース フラグ。P_DBFLAG_ 定数を組み合わせて指定できます。
P_DBFLAG_RI(参照整合性およびトリガーを含む、整合性制約を設定します。)
P_DBFLAG_BOUND(データベース名を辞書にスタンプし、そのデータベースのみが DDF を使用できるようにします。)
P_DBFLAG_DBSEC_AUTHENTICATION(データベース セキュリティ認証の混合セキュリティを使用します。Btrieve セキュリティ ポリシーを参照してください。)
P_DBFLAG_DBSEC_AUTHORIZATION(データベース セキュリティ認証のデータベース セキュリティ ポリシーを使用します。Btrieve セキュリティ ポリシーを参照してください。)
P_DBFLAG_LONGMETADATA(メタデータ バージョン 2 を使用します。メタデータのバージョンを参照してください。)
|
P_OK
|
操作は成功しました。
|
P_E_INVALID_HANDLE
|
接続ハンドルが無効です。
|
P_E_NULL_PTR
|
ヌル ポインターによる呼び出しです。
|
P_E_ACCESS_RIGHT
|
操作を実行するための十分なアクセス権がありません。
|
P_E_NOT_EXIST
|
名前付きデータベースがサーバー上にありません。
|
P_E_FAIL
|
その他の理由により失敗しました。
|
以下の前提条件を満たす必要があります。
次の表は、新規データベースでセキュリティ モデルを指定する方法、および既存データベースのセキュリティ モデルを解釈する方法を示しています。セキュリティにほかのフラグの組み合わせを使用すると、ステータス コード 7024 が返される結果となります。
フラグの組み合わせ
|
相当するセキュリティ モデル
|
---|---|
フラグなし
|
クラシック
|
P_DBFLAG_DBSEC_AUTHENTICATION
|
混合
|
P_DBFLAG_DBSEC_AUTHENTICATION + P_DBFLAG_DBSEC_AUTHORIZATION
|
データベース
|
PvStart() (DTI 関数)
PvConnectServer() (DTI 関数)
PvCreateDatabase() (DTI 関数)
PvGetDbNamesData() (DTI 関数)
PvGetDbName() (DTI 関数)
PvGetDbFlags() (DTI 関数)
PvGetDbDataPath() (DTI 関数)
PvGetDbDictionaryPath() (DTI 関数)
PvGetDbServerName() (DTI 関数)
PvFreeDbNamesData() (DTI 関数)
PvDisconnect() (DTI 関数)
PvStop() (DTI 関数)
|