Error Message: Cannot support multiple connections over shared memory (-27000)

This message occurs when a single instance of a multi-threaded Multi-Tier Database Agent for Informix (e.g., inf9_mv) is making multiple connections to a target $INFORMIXSERVER which is configured to accept shared memory connections.

Multiple database connections from a single Agent instance to a single $INFORMIXSERVER will succeed only if Informix is configured to accept sockets-based connections.

There are a few solutions to this error message. In order of preference for optimal performance and resource conservation --

  1. Reconfigure Informix to accept sockets-based connections, and adjust the Rulebook configuration to match. This may require configuring an alias for the $INFORMIXSERVER. If done properly, this will cause no disruption to any other connections being made via shared memory.

  2. Adjust the Rulebook's reuse rule(s) for the multi-threaded Database Agent(s) to specify never (so only one connection to Informix will ever be made by a single Agent instance). For example --


    [generic_inf2000] Description = Default settings for Informix 2000 agent Program = inf9_mv Environment = INFORMIX2000 OpsysLogin = No ReUse = never ;CommandLine = ;ConnectOptions = ;Directory = /tmp ;Database = ;Userid = ;Password = ;ReadOnly = Yes

  3. Adjust the Rulebook to specify the single-threaded Database Agent(s) instead of the multi-threaded. This requires that the inf##_sv corresponding to the currently configured inf##_mv executable also be present in the .../openlink/bin/ directory. Any reuse rules must also be adjusted to specify never, so this option is more work than option #2, above. For example --


    [generic_inf2000] Description = Default settings for Informix 2000 agent Program = inf9_sv Environment = INFORMIX2000 OpsysLogin = No ReUse = never ;CommandLine = ;ConnectOptions = ;Directory = /tmp ;Database = ;Userid = ;Password = ;ReadOnly = Yes