Mq 2085 ошибка

My .NET code can connect and put a message to a remote queue successfuly. However, the same code does not work with local queue. It throws 2085 error. What different setting should be set in code to make that work with local queue?

Here is my code:

Hashtable queueProperties = new Hashtable();
queueProperties[MQC.HOST_NAME_PROPERTY] = "10.x.x.x";
queueProperties[MQC.PORT_PROPERTY] = 1451;
queueProperties[MQC.CHANNEL_PROPERTY] = "TST1.TRADE.CHANNEL";

try
{
    // Attempt the connection
    queueManager = new MQQueueManager("MYQUEUEMANAGER", queueProperties);
    strReturn = "Connected Successfully";
}
catch (MQException mexc)
{
    // TODO: Setup other exception handling
    throw new Exception(mexc.Message
               + " ReasonCode: " + mexc.ReasonCode
               + "\n" + GetReason(mexc.ReasonCode), mexc);
}

Here, the code is internally using the IIS user id (application pool user) to connect with MQ because this code is run as part of WCF service.

JoshMc's user avatar

JoshMc

10.2k2 gold badges19 silver badges38 bronze badges

asked Jul 13, 2017 at 12:28

Anil Soman's user avatar

If you run the mqrc utility you can find out what the error code translates to:

$mqrc 2085

      2085  0x00000825  MQRC_UNKNOWN_OBJECT_NAME

This means the queue name you are attempting to open does not exist on the queue manager you are connected to.

I noted that the source you posted does not include any code related to opening the queue. You should check that the queue name you are attempting to open does in fact exist on the queue manager you are connecting to.

answered Jul 13, 2017 at 14:31

JoshMc's user avatar

JoshMcJoshMc

10.2k2 gold badges19 silver badges38 bronze badges

1

Обновлено

Вопрос:

Мой код.NET может подключаться и отправлять сообщение удаленной очереди успешно. Однако тот же код не работает с локальной очередью. Он выдает ошибку 2085. Какую настройку следует устанавливать в коде для работы с локальной очередью?

Вот мой код:

Hashtable queueProperties = new Hashtable();
queueProperties[MQC.HOST_NAME_PROPERTY] = "10.x.x.x";
queueProperties[MQC.PORT_PROPERTY] = 1451;
queueProperties[MQC.CHANNEL_PROPERTY] = "TST1.TRADE.CHANNEL";

try
{
// Attempt the connection
queueManager = new MQQueueManager("MYQUEUEMANAGER", queueProperties);
strReturn = "Connected Successfully";
}
catch (MQException mexc)
{
// TODO: Setup other exception handling
throw new Exception(mexc.Message
+ " ReasonCode: " + mexc.ReasonCode
+ "\n" + GetReason(mexc.ReasonCode), mexc);
}

Здесь код внутренне использует идентификатор пользователя IIS (пользователь пула приложений) для подключения к MQ, поскольку этот код выполняется как часть службы WCF.

Лучший ответ:

Если вы запустите утилиту mqsc вы можете узнать, что означает код ошибки:

$mqrc 2085

      2085  0x00000825  MQRC_UNKNOWN_OBJECT_NAME

Это означает, что имя очереди, которое вы пытаетесь открыть, не существует в менеджере очереди, к которому вы подключены.

Я отметил, что источник, который вы опубликовали, не содержит кода, связанного с открытием очереди. Вы должны проверить, что имя очереди, которое вы пытаетесь открыть, фактически существует в менеджере очереди, к которому вы подключаетесь.

I am trying to Create a topic and publish a message to IBM MQ topic. I am getting the 2085 MQ exception and sure how to resolve this.
IBM.XMS.dll version I am using is 8.0.0.6.

Console app code:

    static void Main(string[] args)
    {
        try
        {
            XMSFactoryFactory factoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);

            IConnectionFactory connectionFactory = factoryFactory.CreateConnectionFactory();
            Console.WriteLine("Connection Factory created.");

            connectionFactory.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "MQ_TX_MGR");
            connectionFactory.SetStringProperty(XMSC.WMQ_CONNECTION_NAME_LIST, "10.10.10.10(1414)");
            connectionFactory.SetStringProperty(XMSC.WMQ_CHANNEL, "CL.SVRCONN");

            connectionFactory.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
            connectionFactory.SetIntProperty(XMSC.WMQ_CLIENT_RECONNECT_OPTIONS, XMSC.WMQ_CLIENT_RECONNECT);
            connectionFactory.SetIntProperty(XMSC.WMQ_CLIENT_RECONNECT_TIMEOUT, 3); 

            mqConnection = connectionFactory.CreateConnection();
            Console.WriteLine("Connection created.");

            session = mqConnection.CreateSession(false, AcknowledgeMode.AutoAcknowledge);
            Console.WriteLine("Session created.");


            IDestination destination = session.CreateTopic("topic://TOPIC/NAME"); // destinationName
            Console.WriteLine("Destination created.");

            // create producer
            IMessageProducer producer = session.CreateProducer(destination);  //My Code is erroring out at this line.

        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            Console.WriteLine("Program waiting for message:");
            Console.ReadLine();
        }

    }

Exception Details:

Error Message:
CWSMQ0006E: An exception was received during the call
to the method WmqV6Session.SetupPubSub: CompCode: 2, Reason: 2085.
During execution of the specified method an exception was thrown by
another component. See the linked exception for more information.

Linked Exception Reason: 2085

Linked Exception Stack Trace:
at
IBM.WMQ.MQDestination.Open(MQObjectDescriptor& od) at
IBM.WMQ.MQQueue..ctor(MQQueueManager qMgr, String queueName, Int32
openOptions, String queueManagerName, String dynamicQueueName, String
alternateUserId) at IBM.WMQ.MQQueueManager.AccessQueue(String
queueName, Int32 openOptions, String queueManagerName, String
dynamicQueueName, String alternateUserId) at
IBM.WMQ.MQQueueManager.AccessQueue(String queueName, Int32
openOptions) at
IBM.XMS.Client.WMQ.MqV6Impl.WmqV6Session.SetUpPubSub(Boolean
startCleanup)

My .NET code can connect and put a message to a remote queue successfuly. However, the same code does not work with local queue. It throws 2085 error. What different setting should be set in code to make that work with local queue?

Here is my code:

Hashtable queueProperties = new Hashtable();
queueProperties[MQC.HOST_NAME_PROPERTY] = "10.x.x.x";
queueProperties[MQC.PORT_PROPERTY] = 1451;
queueProperties[MQC.CHANNEL_PROPERTY] = "TST1.TRADE.CHANNEL";

try
{
    // Attempt the connection
    queueManager = new MQQueueManager("MYQUEUEMANAGER", queueProperties);
    strReturn = "Connected Successfully";
}
catch (MQException mexc)
{
    // TODO: Setup other exception handling
    throw new Exception(mexc.Message
               + " ReasonCode: " + mexc.ReasonCode
               + "n" + GetReason(mexc.ReasonCode), mexc);
}

Here, the code is internally using the IIS user id (application pool user) to connect with MQ because this code is run as part of WCF service.

JoshMc's user avatar

JoshMc

9,9102 gold badges18 silver badges37 bronze badges

asked Jul 13, 2017 at 12:28

Anil Soman's user avatar

If you run the mqrc utility you can find out what the error code translates to:

$mqrc 2085

      2085  0x00000825  MQRC_UNKNOWN_OBJECT_NAME

This means the queue name you are attempting to open does not exist on the queue manager you are connected to.

I noted that the source you posted does not include any code related to opening the queue. You should check that the queue name you are attempting to open does in fact exist on the queue manager you are connecting to.

answered Jul 13, 2017 at 14:31

JoshMc's user avatar

JoshMcJoshMc

9,9102 gold badges18 silver badges37 bronze badges

1

I hit this problem earlier today: —

/opt/ibm/mqm/usr/mqm/samp/bin/amqsput ESB.TO.BPM.CLQ ESB1.DEV1

Sample AMQSPUT0 start
target queue is ESB.TO.BPM.CLQ
MQOPEN ended with reason code 2085
unable to open queue for output
Sample AMQSPUT0 end

I could see the queue on the Queue Manager local to where I was running the command ( my ESB box, running IIB 9 and MQ 8 ).

However, when I looked more deeply: —

display queue(ESB*)

     1 : display queue(ESB*)

AMQ8409: Display Queue details.

   QUEUE(ESB.TO.BPM.CLQ)               TYPE(QLOCAL)

display queue(ESB.TO.BPM.CLQ)

     2 : display queue(ESB.TO.BPM.CLQ)

AMQ8409: Display Queue details.

   QUEUE(ESB.TO.BPM.CLQ)                   TYPE(QLOCAL)
   ACCTQ(QMGR)                             ALTDATE(2015-04-07)
   ALTTIME(13.28.28)                       BOQNAME( )
   BOTHRESH(0)                             CLUSNL( )
   CLUSTER(UAT1)                           CLCHNAME( )
   CLWLPRTY(0)                             CLWLRANK(0)
   CLWLUSEQ(ANY)                           CRDATE(2015-04-07)
   CRTIME(13.28.28)                        CURDEPTH(0)
   CUSTOM( )                               DEFBIND(NOTFIXED)
   DEFPRTY(0)                              DEFPSIST(YES)
   DEFPRESP(SYNC)                          DEFREADA(NO)
….

 I could immediately see the problem ….

The cluster to which I was expecting the Queue to belong was called DEV1 and yet the CLUSTER() value above was set to UAT1.

I verified this: —

display CLUSQMGR(*)

     5 : display CLUSQMGR(*)

AMQ8441: Display Cluster Queue Manager details.

   CLUSQMGR(LRPO1.DEV1)                  CHANNEL(DEV1.LRPO1.DEV1)
   CLUSTER(DEV1)

AMQ8441: Display Cluster Queue Manager details.

   CLUSQMGR(REP1.DEV1)                   CHANNEL(DEV1.REP1.DEV1)
   CLUSTER(DEV1)

AMQ8441: Display Cluster Queue Manager details.

   CLUSQMGR(REP2.DEV1)                   CHANNEL(DEV1.REP2.DEV1)
   CLUSTER(DEV1)

which confirmed that the cluster name should indeed be DEV1.

I changed the Queue definition: —

 alter qlocal(ESB.TO.BPM.CLQ) cluster(DEV1)

and re-tested: —

/opt/ibm/mqm/usr/mqm/samp/bin/amqsput ESB.TO.BPM.CLQ ESB1.DEV1

it responded as I’d expected: —

Sample AMQSPUT0 start
target queue is ESB.TO.BPM.CLQ

Hello BPM from ESB
Sample AMQSPUT0 end

which is nice.

Thanks to this: —

for making me think about the Cluster name within the Queue definition: —

Slide 44 says: —

In order to make a queue visible to the other members of the cluster, it is necessary to ALTER the queue and specify the cluster name:

ALTER QLOCAL(CQ1) CLUSTER(‘CLUSTER1’)

You do a remote PUT into a clustered queue. However, you cannot do a remote GET from a clustered queue.

The GET can ONLY be done from the local queue.

  • Remove From My Forums
  • Question

  • User462755366 posted

    Hi,

    I am getting  following MQ issue while pushing message to MQ in ASP.Net applications.  Sometimes message passes through MQ successfully, but some times I am getting following issue

    Write Exception: MQRC_UNKNOWN_OBJECT_NAME | ReasonCode:2085 | 2085 | CompCode:2

    Any suggestions for this please.

    Thanks

    Sreenath

Answers

  • User915387828 posted

    Hi,

    This reason code is issued when an application opens a queue, and the queue manager cannot resolve to a queue name specified in the MQOPEN object descriptor (MQOD).

    The most likely reason is that a wrong queue name was specified on the MQOPEN API call.

    Resolving the problem

    Debugging techniques:

    If the queue is a locally defined queue:

    • Verify that your program is connecting to the correct queue manager.
    • Use the MQSC dis ql(*) command to determine if the target queue is defined.
    • Make sure that your program specifies the correct queue name in the correct case.

    If the queue is a cluster queue:

    • Same general rules as above.
    • If you expect the MQOPEN to resolve to a cluster queue that is not locally defined, you
      must not specify the ObjectQMgrName in the object descriptor (MQOD).
    • 2085 may indicate WebSphere MQ cluster configuration problems.
      • Ensure that the cluster queue managers have working channel connections to, and from the repository queue manager using: MQSC dis chs(*) command.
      • Ensure that the queue is shared in the cluster using: MQSC dis ql(*) command.
    • 2085 opening a cluster queue for input is not supported.

    Please check the following link:

    http://www.mqseries.net/phpBB2/viewtopic.php?=&p=172206

    http://www-01.ibm.com/support/docview.wss?uid=swg21166940

    http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.amqzao.doc%2Ffm12810_.htm

    • Marked as answer by

      Thursday, October 7, 2021 12:00 AM

Hi,

I am getting the following exception when I am trying to invoke a MDB through servlet.:-

The Connection Manager received a fatal connection error from the Resource Adaptor for resource JMS$MyMdbConnectionFactory. The exception which was received is javax.jms.JMSException: MQJMS2008: failed to open MQ queue

[9/11/07 11:44:16:588 IST] 4dfb49e7 MDBListenerIm W WMSG0019E: Unable to start MDB Listener Hello, JMSDestination jms/MyMdbQueue : javax.jms.JMSException: MQJMS2008: failed to open MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:540)
at com.ibm.mq.jms.MQQueueAgent.resolveQueue(MQQueueAgent.java:460)
at com.ibm.mq.jms.MQQueueAgent.getQueueAgent(MQQueueAgent.java:271)
at com.ibm.mq.jms.MQConnectionBrowser.MQConnectionBrowserInit(MQConnectionBrowser.java:277)
at com.ibm.mq.jms.MQConnectionBrowser.<init>(MQConnectionBrowser.java:112)
at com.ibm.mq.jms.MQQueueConnection.createConnectionBrowser(MQQueueConnection.java:775)
at com.ibm.mq.jms.MQConnectionConsumer.<init>(MQConnectionConsumer.java:444)

*************************************************************************
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2085
at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:1527)
at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:1579)
at com.ibm.mq.jms.MQQueueAgent.resolveQueue(MQQueueAgent.java:451)
at com.ibm.mq.jms.MQQueueAgent.getQueueAgent(MQQueueAgent.java:271)
at com.ibm.mq.jms.MQConnectionBrowser.MQConnectionBrowserInit(MQConnectionBrowser.java:277)
at com.ibm.mq.jms.MQConnectionBrowser.<init>(MQConnectionBrowser.java:112)
at com.ibm.mq.jms.MQQueueConnection.createConnectionBrowser(MQQueueConnection.java:775)

I am trying to invoke an MDB thru servlet.I hve checked the QueueConnectionFactory Name,Queue Name,ListenerPort name

Following is the servlet code that invokes MDB

InitialContext context = new InitialContext();
						QueueConnectionFactory qConnectionFactory = (QueueConnectionFactory)context.lookup("java:comp/env/jms/MyConnectionFactoryRef");
						out.println(qConnectionFactory.toString());
						Queue queue = (Queue)context.lookup("java:comp/env/jms/MyQueueRef");
					        QueueConnection qConnection = qConnectionFactory.createQueueConnection();
						QueueSession qSession = qConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
						QueueSender sender = qSession.createSender(queue);
						TextMessage message = qSession.createTextMessage();

I am getting error on qSession.createSender(queue);
Can anyone please help me with this?

Regards,
Vandana

9.3.6. Добавление тестовых сообщений в очередь

Ниже рассказывается, как поместить в ранее созданную очередь сообщения с произвольным текстом при помощи WebSphere MQ Explorer и программы-примера amqsput для WebSphere MQ, работающей с менеджером очередей по умолчанию на данном компьютере.

Видно, что после добавления сообщений в очередь значение ее атрибута «текущая длина» ( CURDEPTH ) изменяется и отражает число добавленных сообщений. О просмотре этого атрибута см. в
«Обмен сообщениями с использованием WebSphere MQ: практическое введение»
.

Применение WebSphere MQ Explorer

Выполните следующие действия.

  1. Выделите папку Queues менеджера очередей host1/qm1, расположенную в папке Queue Managers в окне навигатора.
  2. Щелкните правой кнопкой строку queue1 в таблице и выберите команду Put Test Message – откроется одноименное окно.
  3. Введите в поле Message data текст сообщения.
  4. Щелкните Put message – поле Message data опустеет. Так можно ввести несколько тестовых сообщений; после ввода каждого сообщения щелкайте Put message.
  5. Щелкните Close, чтобы закрыть окно.
Применение программы-примера для WebSphere MQ

Примечание Путь к каталогу с примерами программ для WebSphere MQ должен быть добавлен к пути поиска в переменных окружения ОС.

Выполните следующие действия.

  1. Выполните следующую команду:

    Генерируется следующий вывод, после чего команда ожидает ввода пользователя:

    Sample AMQSPUT0 start
    target queue is queue1
  2. Введите сообщение и нажмите клавишу Enter. Так можно ввести несколько тестовых сообщений; после ввода каждого сообщения нажимайте Enter.
  3. Чтобы выйти, нажмите Enter, не вводя текста.

Примечание Если вы получаете сообщение об ошибке 2059 или 2058 (см. листинг ниже), проверьте, настроен ли менеджер очередей как менеджер по умолчанию (см.
«Обмен сообщениями с использованием WebSphere MQ: практическое введение»
) и работает ли он (командой dspmq ):

Sample AMQSPUT0 start
MQCONN ended with reason code 2059

Получив сообщение, подобное следующему, проверьте имена указанной в команде очереди (включая регистр символов) и созданного объекта, о просмотре имен см. в
«Обмен сообщениями с использованием WebSphere MQ: практическое введение»
.

Sample AMQSPUT0 start
target queue is QUEUE1
MQOPEN ended with reason code 2085
unable to open queue for output
Sample AMQSPUT0 end

Для толкования кодов возврата служит команда mqrc, принимающая код как параметр. Ниже показаны примеры вывода mqrc для кодов 2058, 2059 и 2085:

2058 0x0000080a MQRC_Q_MGR_NAME_ERROR
2059 0x0000080b MQRC_Q_MGR_NOT_AVAILABLE
2085 0x00000825 MQRC_UNKNOWN_OBJECT_NAME

Другие коды возврата MQCONN, MQOPEN и MQPUT также можно расшифровать с помощью mqrc. Подробнее о кодах возврата см. в разделе «API completion and reason codes» руководства WebSphere MQ Messages, GC34-6601.

9.3.7. Просмотр сообщений, добавленных в очередь

Здесь рассказывается, как осуществляется просмотр сообщений, находящихся в данный момент в очереди WebSphere MQ, без их удаления. Для просмотра доступно как содержимое сообщений, так и сведения о них, хранимые в дескрипторах сообщений.

Сообщения, добавляемые в очередь, являются непостоянными ( nonpersistent messages ). В поле reply-to queue manager сообщений автоматически записывается строка host1/qm1 менеджером, в чью очередь добавлены эти сообщения.

Сообщения, генерация которых описана в
«Обмен сообщениями с использованием WebSphere MQ: практическое введение»
, представляли собой дейтаграммы, то есть сообщения, не требующие ответа.

В силу этой причины значение reply-to queue не определялось WebSphere MQ Explorer или программой-примером amqsput при добавлении сообщения.

Сейчас мы воспользуемся интерфейсом WebSphere MQ Explorer либо программой-примером amqsbcg для WebSphere MQ.

Примечание Эти методы весьма удобны при разработке, тестировании и мониторинге очередей рабочих систем, поскольку такой метод просмотра никак не влияет на содержащиеся в очереди сообщения.

Применение WebSphere MQ Explorer

Выполните следующие действия.

  1. Щелкните правой кнопкой очередь в таблице менеджера очередей и выберите Browse Messages – откроется окно с индикатором хода операции, а затем окно Message browser.
  2. Каждая строка в таблице, отображаемой в окне Message browser, представляет одно из сообщений в очереди. В столбцах этой таблицы отображается информация о сообщении, которая находится в дескрипторе сообщения, а также содержимое или данные сообщения. Настраивая схему таблицы, можно изменять порядок столбцов, чтобы, например, переместить столбцы Persistence, Message type, Message data, Reply-to queue и Reply-to Queue Manager в начало таблицы.
  3. Некоторые типы сообщений лучше просматривать в виде двоичных данных, а не текста. Для этого дважды щелкните строку таблицы, представляющую сообщение, – откроется окно свойств сообщения. Щелкните секцию Data в этом окне.
Применение программы-примера для WebSphere MQ

Выполните следующие действия:

  1. Выполните следующую команду для просмотра сообщений в очереди менеджера по умолчанию; вывод команды будет перенаправлен в файл queue1.txt:
    amqsbcg queue1 > queue1.txt
  2. Откройте queue1.txt в любом текстовом редакторе. Для каждого из сообщений в файле содержатся сведения из дескриптора и содержимое в двоичном и текстовом (справа) представлении.

Читать сведения из такого файла сложнее, чем в WebSphere MQ Explorer. Разберем значение наиболее интересных полей вывода команды amqsbcg.

Тип 8 соответствует дейтаграммам. Запросы имеют тип 1, ответы – 2, отчеты – 4.

Значение «0» свидетельствует о том, что сообщение является непостоянным, а значение «1», напротив, говорит о том, что это сообщение является постоянным.

В этом поле отображается 48-значное имя очереди ответов (reply-to queue). Если в имени меньше 48 символов, недостающие символы заменяются пробелами, расположенными справа. Такие данные называются дополненными пробелами (blankpadded), они часто используются в структурах WebSphere MQ. В этом примере данное поле в дескрипторе сообщений пусто.

ReplyToQMgr : 'host1/qm1 '

Это поле содержит 48-значное дополненное пробелами имя менеджера очереди ответов (reply-to queue manager), оно автоматически заполняется менеджером очередей при размещении сообщения.

**** Message ****
length – 20 bytes
00000000: 5265 6462 6F6F 6B20 7465 7374 206D 6573   'Redbook test mes'
00000010: 7361 6765                     'sage '

Здесь отображается содержимое сообщения в двоичном и (справа) в текстовом представлении. Это существенно облегчает просмотр содержимого некоторых типов сообщений, особенно объемных, которые проще просматривать в двоичном представлении. Впрочем, содержимое простых тестовых сообщений из наших примеров как раз удобнее просматривать в текстовом представлении.

@WorkingClass

Hello Franky,

I’m having issue using the Master version + poco-1.7.8p2 on Windows 7 64, against MQ 7.5. MQ error 2085.
The client is the Python scripts in the Samples folder. The connection seems to be well established.

When I look at the description of the error 2085, it doesn’t make sense to my setting because I don’t have cluster.
Log:
2017-05-29 17:31:25 CANL-BN75S32 9684-4 T *** api controller: qmstatus
2017-05-29 17:31:25 CANL-BN75S32 9684-4 I *** Connection information: { «channel» : «SYSTEM.ADMIN.SVRCONN», «connection» : «10.106.123.100(1414)» }
2017-05-29 17:31:25 CANL-BN75S32 9684-4 T *** MQ4 — MQCONNX : CC=0 : RC=0
2017-05-29 17:31:26 CANL-BN75S32 9684-4 T *** MQOPEN : CC=0 : RC=0
2017-05-29 17:31:26 CANL-BN75S32 9684-4 T *** MQINQ : CC=0 : RC=0
2017-05-29 17:31:26 CANL-BN75S32 9684-4 T *** MQCLOSE : CC=0 : RC=0
2017-05-29 17:31:26 CANL-BN75S32 9684-4 T *** SYSTEM.ADMIN.COMMAND.QUEUE — MQOPEN : CC=0 : RC=0
2017-05-29 17:31:26 CANL-BN75S32 9684-4 T *** MQWEB.REPLY.Q01 — MQOPEN : CC=2 : RC=2085
2017-05-29 17:31:26 CANL-BN75S32 9684-4 T *** MQCLOSE : CC=0 : RC=0
2017-05-29 17:31:26 CANL-BN75S32 9684-4 T *** Trying to open SQLite database C:\vms\MQ-DOCS\mqweb-develop\bin\Debug\mqweb.db to load dictionary Reason
2017-05-29 17:31:26 CANL-BN75S32 9684-4 E *** SQL Statement invalid: SQL error or missing database: no such table: texts
Do I, may be, miss some thing in my properties file? (attached).

Tips to resolve the issue are really appreciated.

Thanks,

Victor

mqwebd.zip

@fbraem

Hi Victor,

I see that you have configured a reply queue «MQWEB.REPLY.Q01» in the properties file. You need to define that queue on your queuemanager. Or you can remove the reply queue from the properties file. In that case MQWeb will use a temporary queue based on SYSTEM.DEFAULT.MODEL.QUEUE. See for more information in the documentation.

I also see an SQL error in the log. Did you download the SQLite database with all MQ constants?

Franky.

@WorkingClass

Hello Franky,

Thank you very much. That resolved the issue about the error 2085. But the SQLite issue persists.
Now I’m using Poco 1.5.4 and yes I downloaded the db mqweb.db (about 75kb).
Note: OS Windows 7 64 bit.
in the properties: mq.web.db=${application.dir}\mqweb.db

error:
2017-05-30 14:24:59 CANL-BN75S32 10200-4 T *** Trying to open SQLite database C:\vms\MQ-DOCS\mqweb-develop\bin\Debug\mqweb.db to load dictionary QueueManagerStatus
2017-05-30 14:24:59 CANL-BN75S32 10200-4 E *** SQL Statement invalid: SQL error or missing database: no such table: texts
I «see» the returned Json without the MQ constants. The values are correct.

I regenerate the mqweb.db using mqdictd.exe, which created the texts table too. But I don’t now how complete is it.

The mqweb.db in the download link doesn’t contains the texts table.
I’m using mqwed-develop branch from github.

Thanks,

Victor

@fbraem

I’m using mqwed-develop branch from github.

Ah, the database you can download is for the master branch. In the development branch the table names were changed. When you use the development branch, you must generate the database with mqdictd from the development branch. Does it work now?

@WorkingClass

Hello Franky,

It works now, but it seems to return incomplete list of items in some of the Python scripts. May be due to default filter at the mqweb. I will investigate and let you know.
Thanks,
Victor

Понравилась статья? Поделить с друзьями:
  • Mql5 код ошибки 4756
  • Msctf dll как исправить ошибку
  • Mpxpro carel ошибка h1
  • Mos ru ошибка 500
  • Mql4 ошибка 4202