2012 (07DC) (RC2012): MQRC_ENVIRONMENT_ERROR

Explanation

The call is not valid for the current environment.
  • On z/OS®, one of the following reasons apply:
    • An MQCONN or MQCONNX call was issued, but the application has been linked with an adapter that is not supported in the environment in which the application is running. For example, when the application is linked with the MQ RRS adapter, but the application is running in a DB2® Stored Procedure address space. RRS is not supported in this environment. Stored Procedures that use the MQ RRS adapter must run in a Db2 WLM-managed Stored Procedure address space.
    • An MQCMIT or MQBACK call was issued, but the application has been linked with the RRS batch adapter CSQBRSTB. This adapter does not support the MQCMIT and MQBACK calls.
    • An MQCMIT or MQBACK call was issued in the CICS® or IMS environment.
    • The RRS subsystem is not operational on the z/OS system that ran the application.
    • An MQCTL call with MQOP_START or an MQCB call registering an Event Listener was issued, but the application is not allowed to create a POSIX thread.
    • An IBM® WebSphere® MQ classes for Java application has instantiated an MQQueueManager object using the CLIENT transport. The z/OS environment only supports the use of the BINDINGS transport.
  • On IBM i, HP Integrity NonStop Server, UNIX systems, and Windows, one of the following applies:
    • The application is linked to the wrong libraries (threaded or nonthreaded).
    • An MQBEGIN, MQCMIT, or MQBACK call was issued, but an external unit-of-work manager is in use. For example, this reason code occurs on Windows when an MTS object is running as a DTC transaction. This reason code also occurs if the queue manager does not support units of work.
    • The MQBEGIN call was issued in an MQ MQI client environment.
    • An MQXCLWLN call was issued, but the call did not originate from a cluster workload exit.
    • An MQCONNX call was issued specifying the option MQCNO_HANDLE_SHARE_NONE on an MQ channel exit, an API Exit, or a Callback function. The reason code occurs only if a shared hConn is bound to the application thread.
    • An IBM WebSphere MQ Object is unable to connect fastpath.
    • An IBM WebSphere MQ classes for Java application has created an MQQueueManager object that uses the CLIENT transport, and then called MQQueueManager.begin(). This method can only be called on MQQueueManager objects that use the BINDINGS transport.
  • On Windows, when using the managed .NET client, an attempt was made to use one of the unsupported features:
    • Unmanaged channel exits
    • Secure Sockets Layer (SSL)
    • XA Transactions
    • Communications other than TCP/IP
    • Channel compression
  • On Solaris, if you install IBM WebSphere MQ V7.5 to a non-default location and then make it a primary installation, an error message is displayed. The error message shows that linking with libraries, libmqmcs, and libmqmzse has been deprecated, and that you must re-link your applications to avoid using the libmqmcs and libmqmzse libraries. You can set the environment variable AMQ_NO_MQMCS_MSG to ensure that IBM WebSphere MQ does not display this error message in the error logs.

    The MQCONN or MQCONNX call can succeed only if connecting to a queue manager associated with the same installation owning the library that contains the MQCONN or MQCONNX call.

Completion Code

MQCC_FAILED

Programmer response

Perform one of the following actions (as appropriate):
  • On z/OS:
    • Link the application with the correct adapter.
    • Modify the application to use the SRRCMIT and SRRBACK calls in place of the MQCMIT and MQBACK calls. Alternatively, link the application with the RRS batch adapter CSQBRRSI. This adapter supports MQCMIT and MQBACK in addition to SRRCMIT and SRRBACK.
    • For a CICS or IMS application, issue the appropriate CICS or IMS call to commit or back out the unit of work.
    • Start the RRS subsystem on the z/OS system that is running the application.
    • If your application uses Language Environment® (LE), ensure that it uses the DLL interface and that it runs with POSIX(ON).
    • Ensure that your application has access to use Unix System Services (USS).
    • Ensure that your Connection Factory definitions for local z/OS applications and WebSphere Application Server applications use Transport Type with bindings mode connections.
  • In other environments:
    • Link the application with the correct libraries (threaded or nonthreaded).
    • Remove from the application the call or feature that is not supported.
    • Change your application to run setuid, if you want to run fastpath.