Setting DSN connection properties
The properties in the following tables are common for all user and system DSN entries. The examples provided are for Windows clients.
To edit DSN properties:
-
On UNIX and Linux client platforms, you can edit the
odbc.ini
file. The location of this file is specific to the driver manager. See Creating an ODBC DSN for Linux. -
On Windows client platforms, you can edit some DSN properties using the Vertica ODBC client driver interface. See Creating an ODBC DSN for windows clients.
-
You can also edit the DSN properties directly by opening the DSN entry in the Windows registry (for example, at
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\
DSNname
). Directly editing the registry can be risky, so you should only use this method for properties that cannot be set through the ODBC driver's user interface, or via your client code. -
You can set properties in the connection string when opening a connection using the
SQLDriverConnect()
function:sqlRet = SQLDriverConnect(sql_hDBC, 0, (SQLCHAR*)"DSN=DSNName;Locale=en_GB@collation=binary", SQL_NTS, szDNS, 1024,&nSize, SQL_DRIVER_NOPROMPT);
Note
In the connection string ';' is a reserved symbol. If you need to set multiple properties as part of the ConnSettings property use '%3B' in place of ';'. Also use '+' instead of spaces.
For example:
sqlRet = SQLDriverConnect(sql_hDBC, 0, (SQLCHAR*)"DSN=Vertica SQL;ConnSettings=set+search_path+to+a,b,c%3Bset+locale=ch;SSLMode=prefer", SQL_NTS, szDNS, 1024,&nSize, SQL_DRIVER_NOPROMPT);
-
Your client code can retrieve DSN property values after a connection has been made to Vertica using the
SQLGetConnectAttr()
andSQLGetStmtAttr()
API calls. Some properties can be set and usingSQLSetConnectAttr()
andSQLSetStmtAttr()
.For details of the list of properties specific to Vertica see ODBC Header Files specific to Vertica.