Connecting to Your Database with lmcfg.txt

The lmcfg.txt file defines the database type, name and authentication information that ListManager will use when connecting to your database. The installer will insert the values you choose as part of the installation process. To change the SQL server, database, user or password, use a plain text editor to edit the lmcfg.txt file.

Each variable is given a "$name", followed by an equals sign (=) and the value, in quotation marks. A semicolon (;) should be at the end of each line. All lines which begin with a hash (#) are commented out, and not read when connecting to the database.

  • $node_name

    The $node_name variable specifies the machine name of this Aurea List Manager instance. If you are running Aurea List Manager in a clustered configuration, each node must have a distinct node name. This name is usually the machine's hostname.

    Do not edit or change the node name! If you do so, Aurea List Manager will create a new node in the database with no configuration information. Aurea List Manager will not function properly until the node is removed. See Database Operations for more information about the renamenode function.

  • $sql_type

    The $sql_type variable defines which database driver Aurea List Manager should use. Valid values for $sql_type are:

    • "MSSQL" - Native Microsoft SQL Server.
    • "Oracle" - Native Oracle OCI driver.

    Example: $sql_type="MSSQL";

  • $sql_server

    The $sql_server value is the host name of the machine running the your SQL server software. This value should be blank if the database is local for MSDE, or Microsoft SQL Server.

    Example: $sql_server="mysqlserver.example.com";

  • $sql_user

    The $sql_user value is the login name of the user to connect to the database. This user must have full permissions to create/delete/modify values in this database. May be blank if using MSSQL and integrated security.

    Example: $sql_user="lyris";

  • $sql_encoded_user

    This value is the encrypted login name of the user to connect to the database. The user name may be encrypted by running lm encode_string from the command prompt. The encrypted string may then be used in the lmcfg.txt file for a more secure login to Aurea List Manager, as the SQL database user will not be passed in clear text to Aurea List Manager. The $sql_user value should not be used or commented out when using $sql_encoded_username.

    Example: $sql_encoded_user="we418c53"

  • $sql_password

    The $sql_password value is the login password of the user to log in as. May be blank if using MSSQL and integrated security.

    Example: $sql_password="lyrissqlpassword";

  • $sql_encoded_password

    This value is the encrypted password of the user to connect to the database. The password may be encrypted by running lm encode_string from the command prompt. The encrypted string may then be used in the lmcfg.txt file for a more secure login to Aurea List Manager, as the SQL database password will not be passed in clear text to Aurea List Manager. The $sql_password value should not be used or commented out when using $sql_encoded_username.

    Example: $sql_encoded_password="we418c53"

  •  $sql_database

    The $sql_database value is the name of the database ListManager should use. This value is ignored by Oracle.

    Example: $sql_database="listmanager";

  • $sql_askpassword

    The $sql_askpassword option causes Aurea List Manager to ignore $sql_password and prompt for the SQL database password on the console. The $sql_password parameter is only valid when starting Aurea List Manager from the console, not when starting as a service or as a daemon. This feature enables Aurea List Manager to be run without having the SQL database password saved unencrypted in the lmcfg.txt file.

    To enable this option, enter the variable and set to "yes".

    Example: $sql_askpassword="yes"

  • $sql_pool

    The $sql_pool value is the maximum size of the connection pool that Aurea List Manager will keep. This allows Aurea List Manager to recycle connections rather than creating a new connection for every command.

    Example: $sql_pool="25";

    With the exception of the MSDE server which is optimized for 8 connections, a setting of 25 will give good performance for most database connections. By default, the $sql_pool value is set to 8 for MSDE installations and 25 for all other installations. The minimum number of database connections typically in use by Aurea List Manager is 15. Even if you set a number lower than this, Aurea List Manager will set to 15 (8 for MSDE).

  • $log_startup_messages

    If set to "no", the Aurea List Manager startup messages will not be logged, either to the console or the log file.

    Example: $log_startup_messages="no"

  • $log_directory

    The $log_directory value is the directory where log files will be placed. For example, /var/log/lm or C:\lm\log. Log file names have the format "lognnnn.txt" where "nnnn" is a positive integer. If not set the log files will be placed in the same directory as the Aurea List Manager executable.

  • $log_new_file_on_startup

    The $log_new_file_on_startup value should be "yes" or "no." When set to yes a new log file is created each time Aurea List Manager is run. When set to no Aurea List Manager appends to the latest log file. If not set Aurea List Manager creates a new log file on startup.

  • $max_socket_connections

    Limits the number of simultaneous socket connections that Aurea List Manager is allowed. The default setting is 3000. If you are getting warning messages during mail send that indicate Aurea List Manager is running low on file descriptors, you may need to raise this amount by several hundred or more. If you are running low on memory and experiencing stability problems, you may need to lower the amount.

  • $mailstreams_restricted

    Used to prevent Site and List Admins from selecting and viewing all MailStreams.

    By default, this parameter is set to "false" to allow Site and List admins the same access to MailStreams as in versions earlier than 11.1a.

    Set this parameter to "true" to enforce this restriction for Site and List admins.

    When set to true, Site and List Admins sees a disabled dropdown list for MailStreams, with only the default MailStream visible. This applies to Segments, Mailings, and Lists. The admins will not be able to access the Utilities->Administration->MailStreams pages.

For Linux users:

You must open the S96lm script and raise the ulimit -n amount by 500.

Learn more about limiting the number of sockets

Database Timeout Values

If your database is exceptionally large, you may experience performance issues. In extreme cases, the web server can lock up waiting for a database connection due to long running database queries. To prevent this, you can specify database timeouts as options in the lmcfg.txt file. These options initialize the timeout values and the size of the reserved pool. They are recommended values; you can fine-tune as necessary.

NOTE You can also set these values in ListManager. The time in both places is measured in seconds.

$sql_reserved_pool = "1";
$sql_default_pool_timeout = "-1"; // indefinite (default).
$sql_default_command_timeout = "3600"; // 2 hrs.
$sql_list_posting_timeout = "3600"; // 2 hrs.
$sql_nightly_job_timeout = "3600"; // 2 hrs.
$sql_incremental_update_timeout = "600"; // 10 minutes
$sql_tclport_pool_timeout = "60"; // 1 minute
$sql_tclport_command_timeout = "60"; // 1 minute
$sql_master_thread_pool_timeout = "1"; // 1 second
$sql_master_thread_command_timeout = "1"; // 1 second

Descriptions:

  • $sql_reserved_pool: This is not a timeout. It is a count of the number of database connections to be used by certain processes.
  • $sql_default_pool_timeout: Pool timeouts not defined by any other timeout type.
  • $sql_default_command_timeout: Command timeouts not defined by any other timeout type.
  • $sql_list_posting_timeout: Task that handles the processing of an incoming mailing.
  • $sql_nightly_job_timeout: Used for nightly jobs.
  • $sql_incremental_update_timeout: Update summary statistics for only those mailings that have changes since the previous update.
  • $sql_tclport_pool_timeout: Timeout to get a TCL port command connection.
  • $sql_tclport_command_timeout: Timeout when TCL port command takes too long. Used for GUI (web server) transactions (HTTP GETs and REQUESTs).
  • $sql_master_thread_pool_timeout: Timeout to get a master thread command connection.
  • $sql_master_thread_command_timeout: Timeout when Master thread command takes too long. Used to accept incoming socket connections.

Specifying lmcfg.txt on Startup

You can specify a different lmcfg.txt file by adding a command-line argument. This option allows programmers to have different icons on the desktop for different lmcfg.txt files.

You can use an alternate configuration file using the cfgfile command-line option. The file to load is specified after the "cfgfile" command-line argument. For example:

lm.exe start cfgfile mycfg.txt

The cfgfile arg can appear anywhere in the command line, and must be a relative path.