Setting parameters through the solid.ini configuration file
When the solidDB® server (or ODBC client) is started, it attempts to open the configuration file solid.ini. If the file does not exist, the factory values for the parameters are used. If the file exists, but a value for a particular parameter is not set in the solid.ini file, factory value for that parameter is used. The factory values depend on the operating system you are using.
By default, the server looks for the solid.ini file in the current working directory, which is normally the directory from which you started the server.
You can specify a different directory to be used as the current working directory in the following ways:
▪Use the -c solidDB® command-line option.
▪Set the SOLIDDIR environment variable to specify the location of the solid.ini file.
When searching for the solid.ini file, solidDB® uses the following precedence (from high to low):
▪location specified by the SOLIDDIR environment variable (if set)
The configuration file solid.ini is an ASCII file with line breaks. Comments are preceded with a semicolon (;).
[section_name] param_name1=param_value param_name2=param_value ;This is a comment [section_name2] param_name3=param_value ;This is a comment line (less than 79 characters)
Section names
The solid.ini configuration file is divided into sections. Each section contains a group of one or more related parameters.
Each section has a unique name. The name is delimited with square brackets. For example:
[SQL]
Every parameter must be under a section header. If you put a parameter before any section header, you get an error message indicating that there is an unrecognized entry in the section named “<no section>”.
However, repeating section names makes it more difficult for users to keep the file up-to-date and consistent.
Parameter names and values
Parameters are specified in the following format:
param_name=param_value
For example:
Listen=tcp 127.123.45.156 1313 DurabilityLevel=2
Blank spaces around the equals sign are allowed but not required. The following are equivalent:
DurabilityLevel=2 DurabilityLevel = 2
If you omit the parameter value, the server uses the factory value. For example:
; Use the factory value DurabilityLevel=
If you omit the parameter value and the equals sign, you get an error message.
Specifying duplicate parameter settings is not prohibited and does not result in an error message. The last occurrence of the parameter in the file takes the precedence.
There are a few cases where two or more sections have parameters with the same name. Therefore, you must be careful to place each parameter in the correct section.
Most sections and parameters are optional. You do not need to specify a value for every parameter in every section, and in fact you can omit entire sections. If you omit a parameter, the server uses the factory value.
Comments
The configuration file can contain comments; comments must begin with a semicolon (;). The comments can be put on separate lines or on the same line as a parameter.
; This line is a valid comment.
DurabilityLevel=2 ; This sentence is also a valid comment.
The maximum length of a line is 79 characters. If you create comments longer than 79 characters, the server splits the comments on separate lines using a backslash (\) at the end of the line but without adding a comment marker (;) on the new line. The server can handle the lines that have been split in this way; however, applications such as watchdogs might see the file as corrupted and thus fail.
Validation of entries
The server checks each entry in the solid.ini file.:
▪If the entry is not a comment, the server checks that the combination of section name and parameter name is valid.
▪If the entry is invalid, the server displays an error message in the solmsg.out file.
If the server is running as a foreground process, the message is also displayed on the console. The message is similar to one of the following:
Warning: Unrecognized entry in inifile: 'section.parameter'
You see this message if you have entries that fit the proper form, but which do not have the predefined section names and parameter names. For example, you can get this message with the following type of solid.ini entry:
; This line has a valid section name, but an invalid parameter name. [Logging] NoSuchParam=NoSuchValue ;This line has an invalid section name. [NoSuchSectionName]
The message for the first of these errors would be similar to:
Warning: Unrecognized entry 'Logging.NoSuchParam' in inifile.
Warning: Illegal entry in inifile: whole illegal line
The server displays this message if a line could not be recognized as a section header, parameter name, comment, or blank line. You might see this message if you have entries that are not in the proper form.
For example, you can get this message with the following type of solid.ini entry:
; This text was intended to be a comment but part of it is not preceded with a semicolon.
Warning: number unrecognized or illegal entries in 'inifilename'.
After the server has finished processing the solid.ini file, it will list the total number of errors detected.
Warning: Unregistered parameter section.parameter is used.
If this error occurs, it is a sign of a possible problem inside the server itself; report the error to solidDB® Support.
Notes
▪The server does not necessarily display an error message if you use an invalid value for a parameter. The server simply uses the factory value without issuing an error message.
▪The solid.ini parameter file is checked only when the server starts. If you edit it after the server starts, the server will not see the changes until the next time that the server starts.
▪If you modify the solid.ini file and modify the parameters in the server by using an ADMIN COMMAND, the behavior is unpredictable. While the server is running, you can modify the solid.ini file or make changes to server values using the ADMIN COMMAND, but you cannot do both during the same run of the server.
Summary of solid.ini formatting rules
▪Section name is in the format [section_name]
▪The same section name can be used several times (not recommended).
▪Each parameter is set in a separate line.
▪The comment marker is the semicolon (;).
▪Comments can follow other entries that are in the same line.
▪The maximum length of a line is 79 characters.
▪Entries in the files can be preceded with blanks.
▪If the first non-blank character is the comment character, the whole line is ignored, that is, it is treated as a comment line.
▪Lines that have no characters, or that have only blank characters, are ignored.
▪The maximum length of a line is 78 characters.
Example
The following example shows a simple solid.ini file entry that contains a section heading, a parameter, and a comment:
[Logging] ; Use "relaxed logging", which improves performance but can ; risk losing the last few transactions during a failure. DurabilityLevel=1 [Com] ...