Queue Name (-QN)

The Queue Name adapter command (-QN) is required for both data sources and data targets. Use the Queue Name adapter command (-QN) to identify the name of a specific MSMQ queue using the conventions for Microsoft MSMQ machine name and queue name.

-QN {.|machine_name}\queue_name
Option
Description
.
This is a replacement for the local machine name.
machine_name
Specify a machine name.
queue_name
Specify a queue name.

In addition to the functionality described above, use this adapter command to support private queues and direct format names. Specify private queues using the following syntax:

-QN {.|machine_name}\PRIVATE$\queue_name

where PRIVATE$ specifies the usage of private queues. Private queues are registered on the local computer and not in the directory service.

  • For MSMQ1.0, private queues are not registered in the MQIS SQL Server database.
  • For MSMQ2.0, private queues are not registered in the Active Directory Services, which means that if MSMQ2.0 is used without Active Directory Services (Workgroup mode), private queues are the only supported queues.

Direct format names are supported, allowing specification of the queue name in the form.

If queue_name is specified using the direct format name and the queue is transactional, it is recommended that you specify the Transactional Queue (-TQ) adapter command. This command indicates to the adapter that this queue is transactional. If this command is not specified and the queue is transactional, the map might fail with the following error message:The queue is not transactional

For public queues, use the following syntax:

-QN DIRECT=AddressSpecification\queue_name

For private queues, use the following syntax for a transactional queue:

-QN DIRECT=AddressSpecification\PRIVATE$\queue_name -TQ

or the following syntax for a non-transactional queue:

-QN DIRECT=AddressSpecification\PRIVATE$\queue_name

where AddressSpecification is one of the following:

SPX:MachineSPXNetworkAddress
(if SPX network protocol is used)
TCP:MachineIPNetworkAddress
(if TCP/IP network protocol is used)

An IP address can be in IPv4 (for example, 1.2.3.4) or IPv6 (for example, a:b:c:d:0:1:2:3) format.

OS:MachineName
(where MachineName is the name of the machine recognized by the underlying operating system)

As indicated above, specify direct format names using DIRECT= preceding AddressSpecification.

Following below are examples of this syntax. The first example:

-QN DIRECT=SPX:00000012;00A0234F7500\Queue1 -TQ

specifies the transactional queue named Queue1 on the machine with the SPX address 00000012;00A0234F7500.

The next example:

-QN DIRECT=TCP:157.18.3.1\Queue2

specifies the queue named Queue2 on the machine with an IP address of 157.18.3.1. The adapter attempts to determine if this queue is transactional. If this effort is unsuccessful, the adapter assumes that this queue is not transactional because the -TQ adapter command was not specified.

The final example:

-QN OS:Jones\Queue3

specifies the queue named Queue3 on the machine named Jones in the underlying operating system.

The transactional dead letter queue is specified as:

-QN machine_name;DEADXACT

or

-QN .;DEADXACT

for the local machine.

The non-transactional dead letter queue is specified as:

 -QN  machine_name ;DEADLETTER

or

-QN .;DEADLETTER

for the local machine.