Distributed Tuning Interface Reference : PvGetDSN()
 
PvGetDSN()
Retrieves information about the datasource name (DSN).
Header File: catalog.h (See also Header Files)
Function First Available In Library: w3dbav75.dll (Windows), libpsqldti.so (Linux), libpsqldti.dylib (macOS) (See also Link Libraries)
This function is deprecated in PSQL v11 and higher versions. Use the ODBC API to work with client DSNs.
Syntax
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);
Arguments
 
In
hConnection
Connection handle that identifies the server. Connection handles are obtained with the PvConnectServer() function.
In
dsnName
Name of the datasource. A list of DSNs can be obtained with the PvListDSNs() function.
In/Out
pdsnDescSize
Address of an unsigned long containing size of the buffer for DSN description. Receives actual size of DSN description.
Out
dsnDesc
Contains the description of DSN if successful.
In/Out
pdsnDBQSize
Address of an unsigned long containing size of the buffer for name of database. Receives actual size of database name.
Out
dsnDBQ
Contains the name of the database if successful.
Return Values
 
P_OK
The operation was successful.
P_E_INVALID_HANDLE
Invalid connection handle.
P_E_NULL_PTR
Call with NULL pointer
P_E_BUFFER_TOO_SMALL
The buffer is too small for the string. In this case, the required buffer size is returned in pdsnDescSize or pdsnDBQSize.
P_E_FAIL
Failed to retrieve data path.
Remarks
The following precondition must be met:
Connection established by PvConnectServer() or if you are performing the operation on a local machine, P_LOCAL_DB_CONNECTION may be used as the connection handle.
To retrieve information about a DSN without having to prompt the user to login, pass empty strings for username and password when establishing the server connection with PvConnectServer().
Note The connection established by passing empty strings for username and password is an insecure connection, and will not have sufficient rights to perform most of the other operations in DTI.
See Also
PvStart()
PvConnectServer()
PvGetDSNEx()
PvListDSNs()
PvCountDSNs()
PvCreateDSN()
PvModifyDSN()
PvDeleteDSN()
PvDisconnect()
PvStop()