How To Use DTCTester Tool

Article translations Article translations
Article ID: 293799 - View products that this article applies to.
This article was previously published under Q293799
Expand all | Collapse all

On This Page

SUMMARY

DTCTester tests a distributed transaction against a specified Microsoft SQL Server. This tool helps to test distributed transactions across firewalls or against networks. DTCTester performs distributed transactions by using ODBC API against a SQL Server database.

Download the DTCTester Tool

The following file is available for download from the Microsoft Download Center:
Collapse this imageExpand this image
Download
Download the DTCTester package now. For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to Obtain Microsoft Support Files from Online Services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

What Does the DTCTester Tool Do?

  • Establishes a connection to SQL Server by using a data source name (DSN) and username and password that you provide on the command line by using the default network library.
  • Creates a temporary table.
  • Enlists the connection in a transaction.
  • Does an insert on the temporary table.
  • Commits the distributed transaction.
  • Selects inserted value to make sure it was committed.
  • Closes the connection.

How to Use the DTCTester Tool

  1. Create an ODBC data source for your SQL Server through the ODBC utility in Control Panel.
  2. Execute the following from the command line:
    dtctester <dsn name><user name><password>
    Replace the values in brackets as appropriate for your environment.

Typical Causes Where the DTCTester Tool Fails

  • Firewall has incorrect ports closed.
  • There are bad WINS/DNS entries.
  • Misconfigured SQL Server cluster or dual network adapter.
  • Other misconfigured network setting.

Example of Error that Occurs When the DTCTester Fails

Command Line: dtctester bad baduser badpass
Executed: dtctester
DSN: bad
User Name: baduser
Password: badpass
tablename=#dtc7421
Creating Temp Table for Testing: #dtc7421
Warning: No Columns in Result Set From Executing: 'create table #dtc7421 (ival int)'
Initializing DTC
Beginning DTC Transaction
Enlisting Connection in Transaction
Error:
SQLSTATE=25S12, Native error=-2147168242,msg='[Microsoft][ODBC SQL Server Driver] Distributed transaction error'
Error:
SQLSTATE=24000, Native error=0,msg=[Microsoft][ODBC SQL Server Driver]Invalid cursor state
Aborting DTC Transaction
Releasing DTC Interface Pointers
Successfully Released pTransaction Pointer
					

Example of Successful DTCTester Output

Command Line: dtctester test sa
Executed: dtctester
DSN: test
User Name: sa
Password is assumed to be NULL.
Connecting to the database
tablename= #dtc7488
Creating Temp Table for Testing: #dtc7488
Warning: No Columns in Result Set From Executing: 'create table #dtc7488 (ival int)'
Initializing DTC
Beginning DTC Transaction
Enlisting Connection in Transaction
Executing SQL Statement in DTC Transaction
Inserting into Temp...insert into #dtc7488 values (1)
Warning: No Columns in Result Set From Executing: 'insert into #dtc7488 values (1) '
Verifying Insert into Temp...select * from #dtc7488 (should be 1): 1
Press enter to commit transaction.

Committing DTC Transaction
Releasing DTC Interface Pointers
Successfully Released pTransaction Pointer.
Disconnecting from Database and Cleaning up Handles
					

Suggested Ports to Open for DTC

Collapse this tableExpand this table
port(s)port's purpose
Open 135RPC EPM (end point mapper)
Open 1433TDS SQL traffic when using TCP/IP
Open 1434SQL 2000 Integrated Security
Open 5100-5200MSDTC [Dynamically assigned a port by the EPM]

REFERENCES

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
191168 INFO: Error '-2147168246 (8004d00a)' Failed to Enlist on Calling Object's Transaction
For additional information, see the white paper on the following Microsoft Web site:
Using Distributed COM with Firewalls
http://www.microsoft.com/com/wpaper/dcomfw.asp

Properties

Article ID: 293799 - Last Review: September 7, 2004 - Revision: 2.5
APPLIES TO
  • Microsoft Windows DNA
Keywords: 
kbdownload kbdownload kbdcom kbhowto KB293799
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com