Microsoft KB Archive/293799

= How To Use DTCTester Tool =

Article ID: 293799

Article Last Modified on 9/7/2004

-

APPLIES TO


 * Microsoft Windows DNA

-



This article was previously published under Q293799




 * SUMMARY
 * Download DTCTester
 * What Does the DTCTester Tool Do?
 * How to Use the DTCTester Tool
 * Typical Causes Where the DTCTester Tool Fails
 * Example of Error that Occurs When the DTCTester Tools Fails
 * Example of Successful DTCTester Output
 * Suggested Ports to Open for DTC
 * REFERENCES



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.

back to the top



Download the DTCTester Tool
The following file is available for download from the Microsoft Download Center:

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.

back to the top

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.

back to the top

How to Use the DTCTester Tool
 Create an ODBC data source for your SQL Server through the ODBC utility in Control Panel. Execute the following from the command line:

dtctester < >< >< >

Replace the values in brackets as appropriate for your environment.

back to the top

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.

back to the top

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

back to the top

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

back to the top

Suggested Ports to Open for DTC
back to the top

