Connection parameters often provide more than one way of accomplishing a given task. This is particularly the case with embedded databases, where the connection string starts a database server. For example, if your connection string starts a database, you can specify the database name using the DatabaseName (DBN) connection parameter or using the DatabaseSwitches (DBS) parameter. The Database Name (DBN) connection parameter is recommended.
Here are some recommendations and notes for situations where connection parameters conflict:
Specify database files using DBF You can specify a database file in the StartLine (START) parameter or using the DatabaseFile (DBF) connection parameter (recommended).
Specify database names using DBN You can specify a database name in the StartLine (START) parameter, the DatabaseSwitches (DBS) connection parameter, or using the DatabaseName (DBN) connection parameter (recommended).
Specify database server names using ENG You can specify the name of the database server in the EngineName (ENG) parameter when you are attempting to autostart a database file if it is not already running. This ensures that the database connects to the intended database server.
Use the Start parameter to specify cache size Even though you use the DatabaseFile (DBF) connection parameter to specify a database file, you may still want to tune the way in which it starts. You can use the StartLine (START) connection parameter to do this.
For example, suppose you want to provide additional cache memory in the StartLine (START) connection parameter. The following set of embedded database connection parameters starts a database server with extra cache:DBF=samples-dir\demo.db DBN=Sample ENG=Sample Server UID=DBA PWD=sql START=dbeng10 -c 8M
Boolean values Boolean (true or false) arguments are either YES, ON, 1, TRUE, Y, or T if true, or NO, OFF, 0, FALSE, N, or F if false.
Case sensitivity Connection parameters are case insensitive, although their values may not be (for example, file names on Unix).
The connection parameters used by the interface library can be obtained from the following places (in order of precedence):
Connection string You can pass parameters explicitly in the connection string.
SQLCONNECT environment variable The SQLCONNECT environment variable can store connection parameters.
Data sources ODBC data sources can store parameters.
Character set restrictions It is recommended that the server name must be composed of the ASCII character set in the range 1 to 127. There is no such limitation on other parameters.
Priority The following rules govern the priority of parameters:
The entries in a connect string are read left to right. If the same parameter is specified more than once, the last one in the string applies. ODBC, OLE DB, Sybase Central, Interactive SQL, and the SQL Anywhere Console utility are exceptions to this: if the same parameter is specified more than once, the first string applies.
If a string contains a data source or file data source entry, the profile is read from the configuration file, and the entries from the file are used if they are not already set. For example, if a connection string contains a data source name and sets some of the parameters contained in the data source explicitly, then in case of conflict the explicit parameters are used.
Connection string parsing If there is a problem parsing the connection string, an error is generated that indicates which connection parameter caused the problem.
Empty connection parameters Connection parameters that are specified with empty values are treated as a zero length string.