PvGetDSN()
データ ソース名(DSN)に関する情報を取得します。
ヘッダー ファイル:catalog.h(
ヘッダー ファイルも参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)(
リンク ライブラリも参照)
この関数を Pervasive PSQL v11 以降のバージョンで使用することは推奨されません。クライアント DSN を使った作業には、ODBC API を使用してください。
構文
BTI_API PvGetDSN(
BTI_LONG hConnection,
BTI_CHAR_PTR dsnName,
BTI_ULONG_PTR pdsnDescSize,
BTI_CHAR_PTR dsnDesc,
BTI_ULONG_PTR pdsnDBQSize,
BTI_CHAR_PTR dsnDBQ);
引数
In | hConnection | サーバーを識別する接続ハンドル。接続ハンドルは PvConnectServer()関数によって取得されます。 |
In | dsnName | データ ソース名。DSN の一覧は、 PvListDSNs()関数を使って取得できます。 |
In/Out | pdsnDescSize | DSN の説明のバッファーのサイズを格納する、符号なし Long 型のアドレス。DSN の説明の実際のサイズを受け取ります。 |
Out | dsnDesc | 成功した場合は、DSN の説明が格納されます。 |
In/Out | pdsnDBQSize | データベース名用のバッファーのサイズを格納する、符号なし Long 型のアドレス。データベース名の実際のサイズを受け取ります。 |
Out | dsnDBQ | 成功した場合は、データベースの名前が格納されます。 |
戻り値
P_OK | 操作は成功しました。 |
P_E_INVALID_HANDLE | 接続ハンドルが無効です。 |
P_E_NULL_PTR | ヌル ポインターによる呼び出しです。 |
P_E_BUFFER_TOO_SMALL | 文字列に対しバッファーが小さすぎます。この場合、必要なバッファー サイズが pdsnDescSize または pdsnDBQSize に返されます。 |
P_E_FAIL | データ パスの検索に失敗しました。 |
備考
以下の前提条件を満たす必要があります。
•PvConnectServer()によって接続が確立している。ただし、ローカル マシンで操作を実行する場合は、接続ハンドルとして P_LOCAL_DB_CONNECTION を使用できます。
ユーザーにログイン要求をしないで DSN に関する情報を取得するには、
PvConnectServer()を使ってサーバー接続を確立するとき、userName と password に空文字列を渡します。
メモ: userName と password に空文字列を渡して確立した接続は、セキュリティで保護されていない接続であるため、DTI のこれ以外のほとんどの操作を実行するのに十分なアクセス権を持たない接続となります。
関連項目