Previous Topic Next topic Print topic


SQL Server xa_open string

To complete the definition of a SQL Server XAR, add the following values in the Open string field:

DSN=odbc_dsn[,USRPASS=userid.password][,CONNECTNAME=connectname]
   [,TM=tmname][,RMRECOVERYGUID=guid][,TIMEOUT=timeoutvalue]
   [,USERP={T|F}][,BATCHONLY={T|F}][,LOCALTX={T|F}]
odbc_dsn
The ODBC Data Source Name used to connect to the data source as defined within the Windows ODBC Data Source Administrator utility.1
userid
The user ID required to connect to the data source. Not required when using trusted connections.1
password
The password required to connect the user ID to the data source. Not required when using trusted connections. 1
connectname
The name used by OpenESQL to identify the connection. Specify this only if you have multiple connections.2
tmname
The transaction manager name used for diagnostics by the Microsoft Distributed Transaction Coordinator (MSDTC). We recommended that you specify the transaction manager name as a string that uniquely identifies the host machine and enterprise server instance. The tmname value is restricted to 40 characters. If not specified, the TM value defaults to Micro Focus Enterprise Server.
guid
A 36-character GUID used to optimize recovery processing.
timeoutvalue
The amount of time in milliseconds that MSDTC waits for transactions to complete. If not specified, the default is 0, meaning no time limit.
USERP, BATCHONLY, LOCALTX
See SQL xa_open string Configuration Options for details.
1 Alternatively, you can specify the DSN, user ID, and password by manually coding them into the esmssql.cbl source. This can be helpful if you want to ease security. To do this, search for CUSTOMIZE within esmssql.cbl to see where to apply the required changes.
2 You must also code a reference to this connection name into the source for your deployed container-managed service as follows:
EXEC SQL SET CONNECTION connectname END-EXEC
Where connectname is the name specified in the Open string field on the Enterprise Server XA Resources tab.
Note:
  • If you specify any parameter other than those listed here, the switch module returns an error to Enterprise Server.
  • The SQL Server switch module does not accept the DTCSERVER parameter. Consequently, it is not possible to define the resource manager to identify a specific machine to act as the transaction coordinator in the XAR. However, using Windows Component Services, you can configure a remote machine to act as the transaction coordinator. To do this, on your local machine, change the default MSDTC properties to use a remote coordinator, specifying the computer name of the remote machine as the remote coordinator host name. See your Windows documentation for complete instructions.

Configuring MSDTC and SQL Server to act as an XA resource manager

  1. Start the Windows Component Services Administrative tool.
  2. Open the Properties page for Component Services > Computers > My Computer > Distributed Transaction Coordinator > Local DTC.
  3. On the Security tab, check Enable XA Transactions.

Configuring a remote machine to act as transaction coordinator

Using a remote machine as a transaction coordinator could improve performance because Enterprise Server and SQL Server are not required to compete for resources on the same machine. To configure a remote machine to act as a transaction coordinator:

  1. On the host machine, start the Windows Component Services Administrative tool.
  2. Open the Properties page for Component Services > Computers > My Computer.
  3. On the MSDTC tab, uncheck Use local coordinator.
  4. In the Remote coordinator host name field, type the computer name or IP address of the machine you want to act as the transaction coordinator, or click Select to select a machine.
Previous Topic Next topic Print topic