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.
The lmcfg.txt table is also used to specify settings for using a foreign members table.
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.
$sql_type
The $sql_type variable defines which database driver ListManager should use. Valid values for $sql_type are:
"MSSQL" - Native Microsoft SQL Server. Microsoft SQL Server version 7 and 2000 (8) have been tested by Lyris Technologies.
"Oracle" - Native Oracle OCI driver. Versions 8i and greater should work with ListManager.
"Postgres" - Native PosgreSQL driver. Version 7.1 has been tested with ListManager. Versions earlier than 7.1 will not function. 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 Postgres, 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 log in as. This user must have full permissions to create/delete/modify values in this database.
$sql_user="lyris";
$sql_password
The $sql_password value is the login password of the user to log in as. Example:
$sql_password="lyrissqlpassword";
$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_pool
The $sql_pool value is the maximum size of the connection pool that ListManager will keep. This allows ListManager to recycle connections rather than creating a new connection for every command. A setting of 25 will give good performance. Example:
$sql_pool="25";
Note: The minimum number of database connections that ListManager will use is 15. Even if you set a number lower than this, it will set to 15. The reason for this is that ListManager needs at least this many connections to function properly.
Note that you can specify a different lmcfg.txt file by adding a command-line argument. This 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:
removed references to obsolete stlconv.* files
listmanager.dsp
Makefile.files
lyrregex.cpp
removed obsolete files from project
stlconv.cpp
stlconv.h
added cfgfile command-line argument that lets you specify a different config file to start up with
docsSQL.cpp
lyrclineSQL.cpp
lyrconv.cpp
lyrfisys.h
lyrfisysSQL.cpp
lyrglobl.h
lyrgloblSQL.cpp
lyrinit.h
lyrinitSQL.cpp
lyrmain.cpp
Configuring lmcfg.txt to Use a Foreign Member Table
To use a foreign member table, add the following variables in the lmcfg.txt file and configure them as follows.
sql_member_table_name
Name, with full database extension (as required), of the table which holds the member information. This table must be on the same SQL server which holds the rest of ListManager's tables. If this variable is missing, all other foreign member table variables are ignored and the ListManager “Members_” table will be used. The new member table does not have to exist in the same database as the other tables created and maintained by ListManager. As long as the name is fully qualified and the correct permissions exist, the new member table may be in any database on the server. Example
$sql_member_table_name=”mycompany.customers”;
sql_emailaddr_column_name
The name of the column to use for the email address. If this variable is missing or blank, the default ListManager column EmailAddr_ will be used. Example:
$sql_emailaddr_column_name=”email”;
sql_memberID_column_name
The name of the column that will hold the MemberID. This column must have an identity, auto number,
or sequence value assigned to it, and it must have a unique index. If this variable is missing or blank,
the default ListManager column MemberID_ will be used if you are using MS SQL. If you are using Oracle
or PostgreSQL, it is required that you specify a column that is a unique key with a sequence. If using
PostgreSQL, that column must have a default value that references the sequence.
Example:
$sql_memberID_column_name="customerid";
sql_should_allow_member_delete
A Boolean value to indicate whether ListManager should delete records from the table. If set to “T”, ListManager will be able to purge unsubscribed and expired members as specified by your list settings. If set to “F”, ListManager will not attempt to remove any records from the table, and you will receive a warning when starting the program. If this variable is not included, ListManager will assume that it can delete members from the table. Example:
$sql_should_allow_member_delete=”T”;
This setting is useful if you do not want any data deleted from your members table by ListManager. Normally ListManager would delete members who have met the requirements to be removed, as defined in your list settings. However, without the ability to delete records, all list members will be stored in the database forever.
sql_should_allow_member_add
A Boolean value to indicate whether ListManager should try to add records to the new members table. If set to “T”, ListManager will attempt to add new members to the table. If set to “F”, ListManager will not attempt to add any records to the table, and you will receive a warning when starting the program. Note that if the table named by member_sql_table_name has non-NULL columns without defaults, ListManager will not be able to add members to the table regardless of this setting. If this variable is not included, ListManager will assume that it can add members to the table. Example:
$sql_should_allow_member_add=”T”;
If you prefer that ListManager not insert data into your table, or your table design doesn’t support having a different program insert data, this setting will prevent ListManager from doing so. However, the inability to insert records means that members cannot add themselves to a ListManager list, which could prevent your lists from growing, and cause confusion for your users.
![]() ![]() |