Distributed Tuning Interface Guide (v11)

PvModifyDatabase2() (DTI 関数)

新しいデータベース名、辞書パス、データ パス、データベース フラグおよびコード ページに指定された情報を使用して、既存のデータベースを変更します。この関数は、データベース コード ページが指定されることを除けば、PvModifyDatabase() (DTI 関数)とまったく同じです。

ヘッダー ファイル:catalog.h(「ヘッダー ファイル」も参照)

関数が最初に利用可能になるライブラリ:w3dbav90.dll(Windows)、libpsqldti.so(Linux)(「リンク ライブラリ」も参照)

構文

BTI_API PvModifyDatabase2( 
	BTI_LONG           hConnection, 
	BTI_CHAR_PTR       dbNameExisting, 
	BTI_CHAR_PTR       dbNameNew, 
	BTI_CHAR_PTR       dictPath, 
	BTI_CHAR_PTR       dataPath, 
	BTI_ULONG          dbFlags, 
	BTI_LONG           dbCodePage); 

引数

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 を使用します。メタデータのバージョンを参照してください)。
In
dbCodePage
Windows プラットフォームのデータベースの場合、番号によってデータベース データとメタデータ文字列のコード ページを示します。
Linux ディストリビューションのデータベースの場合、以下の値のいずれかによってデータベース データとメタデータ文字列のコード ページを示します。
  • P_DBCODEPAGE_UTF8
  • P_DBCODEPAGE_EUCJP
  • P_DBCODEPAGE_ISO8859_1
Windows または Linux のデータベースでは、ゼロまたは P_DBCODEPAGE_NA の値も使用できます。
ゼロは旧来の動作を示します。つまり、コード ページは指定されません。これはサーバー マシンのオペレーティング システム(OS)におけるエンコードを使用することを意味します。『Pervasive PSQL User's Guide』の「データベース コード ページ」も参照してください。
P_DBCODEPAGE_NA はコード ページをそのままの状態にしておくことを指定します(データベース コード ページは変更されません)。
メモ:データベース エンジンは、アプリケーションがデータベースに追加するデータおよびメタデータのエンコードを検証しません。エンジンは、すべてのデータが、『Getting Started with Pervasive PSQL』の「エンコードの相互の影響」で説明されているようにサーバーまたはクライアントのエンコードを使用して入力されるものと想定しています。

戻り値

P_OK
操作は成功しました。
P_E_INVALID_HANDLE
接続ハンドルが無効です。
P_E_NULL_PTR
ヌル ポインターによる呼び出しです。
P_E_ACCESS_RIGHT
操作を実行するための十分なアクセス権がありません。
P_E_NOT_EXIST
名前付きデータベースがサーバー上にありません。
P_E_FAIL
その他の理由により失敗しました。

備考

以下の前提条件を満たす必要があります。

Btrieve セキュリティ ポリシー

Btrieve セキュリティ ポリシーを参照してください。

関連項目

PvConnectServer() (DTI 関数)
PvCreateDatabase2() (DTI 関数)
PvCreateDSN2() (DTI 関数)
PvDisconnect() (DTI 関数)
PvFreeDbNamesData() (DTI 関数)
PvGetDbCodePage() (DTI 関数)
PvGetDbDataPath() (DTI 関数)
PvGetDbDictionaryPath() (DTI 関数)
PvGetDbFlags() (DTI 関数)
PvGetDbName() (DTI 関数)
PvGetDbNamesData() (DTI 関数)
PvGetDbServerName() (DTI 関数)
PvGetDSNEx2() (DTI 関数)
PvModifyDSN2() (DTI 関数)
PvStart() (DTI 関数)
PvStop() (DTI 関数)


PvModifyDatabase() (DTI 関数)

PvModifyDSN() (DTI 関数)