Menu
Simba Technologies
Simba Technologies

SimbaEngine X SDK 10.1.15
SimbaClient/Server Developer Guide

SimbaServer Configuration Properties

See SimbaServer on Windows for the location of these properties in the Windows registry, or SimbaServer on Linux, Unix, and macOS for the location of these properties in the configuration files.

These properties can also be entered on the command line.

Note:

As of SimbaEngine X SDK version 10.0, all configuration properties are stored in one section called Server. In previous releases, the configuration properties were divided into the sections Admin, Buffers, Network and Threads.

This table summarize the configuration properties. Detailed descriptions are provided in following tables.

Keyword

Description

IdleTimeout

Connection idle timeout period.

ListenAddress

Bind the SimbaServer instance to a fixed IP address.

ListenPort

The local port for SimbaServer to bind to.

MaxConnections

The maximum number of connections allowed.

MaxWorkerThreads

Maximum number of active concurrent connections.

MinWorkerThreads

Number of Worker Threads created at startup.

ServerNameList

The hostname(s) or IP addresses of the machine where the SimbaServer is running.

ConnStmtLimit Maximum number of simultaneous statements the server allows on any given connection.

Logging configuration properties

LogLevel

Controls the granularity of the messages and events that are logged.

LogPath

Specifies the directory where the log files are created.

LogFileSize

The size of each log file. When the maximum size of the file is reached, a new file is created.

LogFileCount

The number of log files to create.

Secure socket layer (SSL) properties

SslCertfile

The SSL certificate file to use with SSL secure connections.

SslKeyFile

The SSL private key file to use with SSL secure connections.

UseSsl

Enable SSL encryption for the connection between SimbaClient and SimbaServer.

SimbaServerMain properties

Help

Windows only. Print a listing of the command-line options.

daemon

Not available on Windows. Instruct the server to run in the background.

StopEvent

Windows only. Specify a win32 event that can signal the server to shut down.

General Configuration Properties

ConnStmtLimit

Required

No

Range

0 – 232

Set to 0 for unlimited.

Default value

0 (No limit)

Example

connstmtlimit=10

Comment

The maximum number of simultaneous statements that the server allows on any given connection.

IdleTimeout

Specifies connection idle timeout period.

Required

No

Range

1 – 2^32-1 seconds

Set to 0 for no timeout.

Default value

86400 (24 hours)

Example

IdleTimeout=86400

Comment

The duration in seconds that a connection can remain idle, with no communication from a client, before SimbaServer disconnects it. Use this parameter to prevent network interruptions and other connection errors from consuming SimbaServer resources.

Note:

  • The server IdleTimeout property and the ODBC client IdleTimeout property have the same name, but are different properties.
  • For more information on timeout behavior, see How does timeout work?

ListenAddress

Binds the SimbaServer instance to a fixed IP address.

Required

No

Range

Any valid IP address or hostname, or empty string.

Default value

Empty string.

Example

ListenAddress=192.168.0.2

Comment

This keyword restricts the server so it accepts TCP/IP connections only on the specified IP address.  This is useful on machines with multiple IP addresses (for example, machines with multiple NICs), or to ensure that SimbaServer binds to the expected IP address.

If ListenAddress is not specified, SimbaServer will do the following:

1. Use gethostname() to get the fully qualified host name of the current machine.
2. Use getaddrinfo() to resolve that name to an IP address.
3. Bind to the resulting address.

ListenPort

The local port for SimbaServer to bind to.

Required

No

Range

0-65535 (TCP/IP port number range.)

Default value

1543

Example

ListenPort=1583

Comment

This keyword specifies the port to which the server will bind and listen for TCP/IP connection requests. The range of the value is 0-65535.

If you do not set this value, SimbaServer will use the default port 1543.

Note:

The port 1543 is registered to Simba Technologies.

MaxConnections

Specifies the maximum number of total connections.

Required

No

Range

0 – 2^32-1

Default value

512

Example

MaxConnections=256

Comment

This is the total number of connections that are permitted. Set to 0 for unlimited connections.

MaxConnections includes both active and idle connections. Once this maximum number of connections is reached, subsequent connection requests will wait until one of the existing connections is disconnected. Refer to MaxWorkerThreads for the maximum number of active concurrent connections. If you expect a large number of users to access your server, this value should be set to a higher number.

MaxWorkerThreads

Specifies the maximum number of active concurrent connections.

Required

No

Range

0 – 2^32-1

Default value

100

Example

MaxWorkerThreads=32

Comment

The maximum number of concurrent active connections that are permitted. Set to 0 for unlimited worker threads.

Since each connection, when active, requires a worker thread to process its requests, the maximum number of worker threads is equal to the maximum number of active concurrent connections.

When this maximum number is reached, an active connection will wait until one of the active connections has had its requests serviced. Its worker thread will then be freed for use by this active connection.

Note:

This property is NOT the maximum number of connections allowed – i.e. there can be concurrent idle connections. Idle connections do not require the use of a worker thread.

If you expect a large number of concurrently active users, this number should be set higher.

Refer to MaxConnections for the maximum total number of connections permitted.

MinWorkerThreads

Specifies the number of Worker Threads created at startup.

Required

No

Range

0-65535 worker threads

Default value

10

Example

MinWorkerThreads=50

Comment

The number of worker threads that SimbaServer will create before starting up the server. SimbaServer will not allow the number of worker threads in the thread pool to dip below this number.  Each active connection uses one worker thread to process its requests.

ServerNameList

The hostname(s) or IP addresses of the machine where the SimbaServer is running.

Required

No, but recommended.

If not supplied, SimbaServer will attempt to use DNS to discover the hostname of the machine on which it is running.

Default value

None

Example

ServerNameList = Server1,Server2

Comment

This property ensures the server can accurately communicate the hostname(s) and IP address(es) for the machine on which it is running. This avoids error in cases where more than one hostname is mapped to a single IP address, or the server is running behind a NAT-enabled firewall.

Logging Configuration Properties

For more information on logging, see Setting Properties to Control Logging.

Note:

Logging properties cannot be set on the command line. To set logging properties, use the Windows Registry on Windows platforms or the .ini files on non-Windows platforms.

LogLevel

Controls the granularity of the messages and events that are logged.

 

Required

No

Allowed
values

See Comment.

Default value

LOG_OFF

Example

LogLevel=LOG_ERROR

Comment

With this keyword, you can control the amount of log output by controlling the kinds of events that are logged.

Possible values (case sensitive):

  • 0 or LOG_OFF: no logging occurs
  • 1 or LOG_FATAL: only log fatal errors
  • 2 or LOG_ERROR: log all errors
  • 3 or LOG_WARNING: log all errors and warnings
  • 4 or LOG_INFO: log all errors, warnings, and informational messages
  • 5 or LOG_DEBUG: log method entry and exit points and parameter values for debugging
  • 6 or LOG_TRACE: log all method entry points

LogPath

Specifies the directory where the log files are created.

Required

No

Allowed
values

Valid directory path, or unspecified.

Default value

Unspecified.  This stores log files in the current working directory.

Example

LogPath="C:\Simba Technologies\Temp"

Comment

If this value is not set, the log files are written to the current working directory of the SimbaServer.

Note:

The current working directory for SimbaServer running as a service and SimbaServer running as an executable is different.

LogFileSize

Specifies the size, in bytes, of each log file.

Note:

You can use LogFileSize and LogFileCount to enable automatic cleanup of log files. When one log file reaches the size specified by LogFileSize, a new log file is created. When the number of log files reaches the limit specified by LogFileCount, the first log file is deleted when another log file is created.

Required

No

Allowed
values

The SimbaEngine X SDK will accept any positive integer. The maximum size of a file depends on the host machine's specifications.

Default value

20971520 bytes

Example

LogFileSize="30000000"

Comment

When the maximum size of the log file is reached, another log file will be created.

LogFileCount

Specifies the number of log files to create.

Required

No

Allowed
values

The SimbaEngine X SDK will accept any positive integer. The maximum number of files depends on the host machine's specifications.

Default value

50

Example

LogFileCount=100

Comment

When the maximum number of log files has been created, the oldest file will be deleted and a new one created.

SSL Configuration Properties

For more information on configuring SSL, see Overview.

UseSsl

This setting allows the connection between the SimbaClients and SimbaServer to use Secure Sockets Layer (SSL) encryption.

Note:

You must configure SSL on both the SimbaServer and the SimbaClient in order to establish a secure connection. See Configuration Properties for SSL.

Required

Yes, if UseSsl is enabled on the client.

Allowed values

Disabled, Enabled, Required

Default value

Disabled

Example

UseSsl=Enabled

SslCertfile

Specifies the SSL certificate file to use with SSL secure connections.

Required

Yes, when UseSslis Enabled or Required.

Data type

String

Range

Valid absolute or relative directory path to the SSL certificate file.

Default value

None 

Example

SslCertFile=C:\SampleServerCertificate.pem

Comment

This keyword specifies the full or relative path to the SSL certificate file to use with SSL secure connections.  Note that the server will use this information only when you turn on SSL security with the UseSsl keyword.

SslKeyFile

Specifies the SSL private key file to use with SSL secure connections.

Required

Yes, when UseSslis Enabled or Required.

Data type

String

Range

Valid absolute or relative directory path to the SSL server key file.

Default value

None

Example

SslKeyFile=C:\SampleServerKey.pem

Comment

This keyword specifies the full or relative path to the SSL private key file to use with SSL secure connections. Note that the server will use this information only when you turn on SSL security with the UseSsl keyword.

SimbaServerMain properties

These properties are available on the command line for SimbaServers that use the SimbaServerMain library. They are not available in a configuration file. If you include SimbaServer in your own process and implement your own main() function, these properties are not available.

Help

List and describe the command-line options. Windows only.

Required

No

Example

QuickstartDSIIServer.exe -Help

QuickstartDSIIServer.exe /Help

Comment

This parameter does not take any arguments. The server will not start up when this parameter is used, and will ignore all other arguments.

daemon

Instruct the server to run as a daemon (in the background without a terminal window).

Required

No

Example

QuickstartDSIIServer.so -daemon

Comment

This parameter is not available on Windows. It must be the first parameter on the command line.

StopEvent

Specify an event object that can signal the server to shut down.

Required

No

Default
Value

By default, no event is monitored.

Example

QuickstartDSIIServer.exe -StopEvent NoLicenseAvailable

Comment

This parameter is available on Windows only. For more information on event objects, see https://msdn.microsoft.com/en-ca/library/windows/desktop/ms682655%28v=vs.85%29.aspx.