開発者リファレンス : プラットフォーム管理 : Distributed Tuning Interface (DTI) Guide : Distributed Tuning Interface のリファレンス : PvModifyDatabase()
  
このページをシェアする                  
PvModifyDatabase()
新しいデータベース名、辞書パス、データ パス、およびデータベース フラグに指定された情報を使用して、既存のデータベースを変更します。
ヘッダー ファイル:catalog.h(ヘッダー ファイルも参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)、libpsqldti.dylib(macOS)(リンク ライブラリも参照)
構文
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() 関数によって取得されます。
In
dbNameExisting
既存データベースの名前。
In
dbNameNew
新しいデータベースの名前。データベース名を変更しない場合は、このパラメーターにヌルを設定します。
In
dictPath
辞書パス。
In
dataPath
データ パス。デフォルトのデータ パス(つまり、辞書パスと同じパス)を使用するには、この値にヌルを設定します。
複数のパスに保存された MicroKernel エンジン データ ファイルを含んでいるデータベースを変更する場合は、このパラメーターにセミコロン(;)で区切られた一覧を指定します。たとえば、次のようにします。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
その他の理由により失敗しました。
備考
以下の前提条件を満たす必要があります。
PvStart() 呼び出しによって DTI セッションが開始されている。
PvConnectServer() によって接続が確立している。ただし、ローカル マシンで操作を実行する場合は、接続ハンドルとして P_LOCAL_DB_CONNECTION を使用できます。
Btrieve セキュリティ ポリシー
次の表は、新規データベースでセキュリティ モデルを指定する方法、および既存データベースのセキュリティ モデルを解釈する方法を示しています。セキュリティにほかのフラグの組み合わせを使用すると、ステータス コード 7024 が返される結果となります。
フラグの組み合わせ
相当するセキュリティ モデル
フラグなし
クラシック
P_DBFLAG_DBSEC_AUTHENTICATION
混合
P_DBFLAG_DBSEC_AUTHENTICATION + P_DBFLAG_DBSEC_AUTHORIZATION
データベース
関連項目
PvStart()
PvConnectServer()
PvCreateDatabase()
PvGetDbNamesData()
PvGetDbName()
PvGetDbFlags()
PvGetDbDataPath()
PvGetDbDictionaryPath()
PvGetDbServerName()
PvFreeDbNamesData()
PvDisconnect()
PvStop()