Distributed Tuning Interface Guide (v11)

PvGetDbName() (DTI 関数)

シーケンス番号を使って、接続されたサーバーのデータベース名を取得します。データベース名の番号は、PvGetDbNamesData() (DTI 関数)関数を呼び出すことによって取得できます。シーケンス番号は 1 基準です。

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

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

構文

BTI_API PvGetDbName( 
	BTI_LONG           hConnection, 
	BTI_ULONG          sequence, 
	BTI_ULONG_PTR      pBufSize, 
	BTI_CHAR_PTR       dbName); 

引数

In
hConnection
サーバーを識別する接続ハンドル。接続ハンドルは PvConnectServer() (DTI 関数)関数によって取得されます。
In
sequence
データベース名のシーケンス番号(1 基準)。PvGetDbNamesData() (DTI 関数)によって定義される値を上限とした、有効な範囲内の番号でなければなりません。
In/Out
pBufSize
データベース名を取得するために割り当てられたバッファーのサイズを格納する、符号なし Long 型のアドレス。コピーされた文字の実際のサイズを受け取ります。サイズにはヌル終端文字を含める必要があります。
Out
dbName
返された文字列値。

戻り値

P_OK
操作は成功しました。
P_E_INVALID_HANDLE
接続ハンドルが無効です。
P_E_DATA_UNAVAILABLE
データベース名に関連するデータがありません。
P_E_NULL_PTR
ヌル ポインターによる呼び出しです。
P_E_BUFFER_TOO_SMALL
文字列に対し、割り当てられたバッファーが小さすぎます。
P_E_INVALID_SEQUENCE
シーケンス番号が無効です。
P_E_FAIL
その他の理由により失敗しました。

BTI_ULONG i; 
BTI_ULONG count = 0; 
BTI_CHAR dbName[BDB_SIZE_DBNAME+1]; 
BTI_SINT status = PvGetDbNamesData(connection, &count); 
for (i=1; i<= count; i++) 
{ 
  BTI_ULONG dbNameSize = sizeof(dbName); 
  status = PvGetDbName(connection, i, &dbNameSize, 
dbName); 
} 
status = PvFreeDbNamesData(connection); 

備考

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

関連項目

PvStart() (DTI 関数)
PvConnectServer() (DTI 関数)
PvGetDbNamesData() (DTI 関数)
PvFreeDbNamesData() (DTI 関数)
PvDisconnect() (DTI 関数)
PvStop() (DTI 関数)


PvGetDbFlags() (DTI 関数)

PvGetDbNamesData() (DTI 関数)