Provides the information required to build the SQL Server RM switch module.
Restriction: This topic applies only when the Enterprise Server feature is enabled.
The SQL Server module provides two-phase commit support using the Microsoft Distributed Transaction Server (MS DTC), and ensures that any database connections made using this switch module all participate in a single XA transaction. MSDTC must be running on both the client machine, and also the machine(s) where SQL Server is hosted.
- Source Code
- The SQL Server RM switch module COBOL source file,
ESMSSQL.CBL is located by default in the
%ProgramFiles(x86)%\Micro Focus\Visual COBOL for Visual Studio 2012\src\enterpriseserver\xa directory.
- Build Requirements
- To build the SQL Server RM switch module, you must have the Windows Software Development Kit (SDK) installed for your version of Windows.
Some OpenESQL directives are process-based, and typically need to be set in within the code of the program that makes the database connection.
Before building this switch module, ensure that your LIB environment variable contains the path to your Windows SDK LIB directory.
If you are executing services under
Enterprise Server that are deployed as container-managed applications, the applicable directives must be specified when compiling the RM switch module, rather than when compiling your program source. For more information, see the list of Process-based OpenESQL directives in the topic
Scope - OpenESQL SQL Compiler Directive Options.
- Building the Switch Module
-
- Method 1
-
- Start aVisual COBOL command prompt, 32-bit or 64-bit depending on the application, running as an administrator.
- Change to the
%ProgramFiles(x86)%\Micro Focus\Visual COBOL for Visual Studio 2012\src\enterpriseserver\xa directory (default location).
- Enter
build mssql [directives]
- Method 2
-
- Start aVisual COBOL command prompt, 32-bit or 64-bit depending on the application.
- Copy all files from the
%ProgramFiles(x86)%\Micro Focus\Visual COBOL for Visual Studio 2012\src\enterpriseserver\xa directory (default location) to any location where you have WRITE permission.
- Change to the directory containing the copied files.
- Enter
build mssql [directives]
- Build Output
- The build process produces two binary switch module files from the
ESSQLXA.CBL COBOL source file:
Binary File
|
Type
|
ESSQLXA.DLL
|
static
|
ESSQLXA_D.DLL
|
dynamic
|
You can register an RM switch module with
Enterprise Server dynamically, or register it statically depending on which binary file you use. We recommend that you use the dynamic switch module option, as this ensures that only active databases used in the global transaction participate in the TM/RM XA flow.
- Additional Resources
- For more information on using the SQL Server RM switch module, including the xa_open string definition and MSDTC details, see
SQL Server xa_open string.