Distributed Tuning Interface Guide (v11)

PvCopyDatabase() (DTI 関数)

データベースを新規データベースにコピーし、必要に応じて参照整合性を調整します。

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

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

構文

BTI_API PvCopyDatabase( 
	BTI_LONG           hConnection, 
	BTI_CHAR_PTR       dbName, 
	BTI_CHAR_PTR       newdbName, 
	BTI_CHAR_PTR       newdictPath, 
	BTI_CHAR_PTR       newdataPath); 

引数

In
hConnection
サーバーを識別する接続ハンドル。接続ハンドルは PvConnectServer() (DTI 関数)関数によって取得されます。
In
dbName
コピーするデータベースの名前。
In
newdbName
新規のデータベース名。
In
newdictPath
新規データベースの辞書パス。
In
newdataPath
データ パス。デフォルトのデータ パス(つまり、辞書パスと同じパス)を使用するには、空文字列を渡します。
複数のパスに保存されたトランザクショナル インターフェイス データ ファイルから構成される新規データベースを作成する場合は、このパラメーターにセミコロン(;)で区切られた一覧を指定します。たとえば、次のようにします。
C:¥data¥path1;C:¥data¥path2

戻り値

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

備考

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

BTI_LONG connectionHandle = P_LOCAL_DB_CONNECTION; 
BTI_CHAR_PTR newdataPath = "c:¥¥data¥¥gallery2"; 
BTI_CHAR_PTR newdictPath = "c:¥¥data¥¥gallery2"; 
BTI_CHAR_PTR databaseName = "Gallery"; 
BTI_CHAR_PTR newdatabaseName = "GalleryCopy"; 
BTI_SINT status = 0; 
BTI_CHAR_PTR server = "MyServer"; 
BTI_CHAR_PTR user = "Administrator"; 
BTI_CHAR_PTR pwd = "Admin"; 
// リモートの場合のみ、サーバーへの接続が必要となる 
// リモートでない場合は、ハンドルとして P_LOCAL_DB_CONNECTION を渡すことができる 
 
status = PvCopyDatabase( 
connectionHandle, 
databaseName, 
newdatabaseName 
dictPath, 
dataPath); 

関連項目

PvStart() (DTI 関数)
PvConnectServer() (DTI 関数)
PvCreateDatabase() (DTI 関数)
PvGetDbFlags() (DTI 関数)
PvModifyDatabase() (DTI 関数)
PvDropDatabase() (DTI 関数)
PvDisconnect() (DTI 関数)
PvStop() (DTI 関数)


PvConnectServer() (DTI 関数)

PvCountDSNs() (DTI 関数)