98 lines
3.4 KiB
Plaintext
98 lines
3.4 KiB
Plaintext
Transacted File and SQL Sample
|
|
==============================
|
|
|
|
This sample demonstrates how to create a new transaction using the Distributed Transaction
|
|
Coordinator (DTC) interfaces, and do a transacted file and a SQL database operation using
|
|
that transaction.
|
|
|
|
The sample makes a connection to the database, creates a new transaction, and in the same transaction completes the
|
|
database and transacted file operations. A command line parameter is used to configure the sample to commit or
|
|
abort the transaction. If the transaction commits, all changes are made permanent. If the transaction aborts,
|
|
all changes are rolled back.
|
|
|
|
|
|
|
|
Requirements
|
|
============
|
|
1. Any edition of 'SQL Server 2000 SP4' or 'SQL Server 2005'
|
|
'pubs' database must exist in the database. A database script file (CreatePubsDB.SQL) is provided with this
|
|
sample to create the database and the necessary table in it.
|
|
2. DTC service must be running on the machine where you are running the sample.
|
|
3. DTC service must be running on the machine where you have the SQL server installed.
|
|
4. Both DTC services must be configured to allow Network DTC Access for inbound and outbound access.
|
|
5. If you have Windows Firewall enabled on either of these machines, you should create a new firewall
|
|
exception to allow all all network traffic for the MSDTC.exe executable.
|
|
|
|
Note: Read Component Services MMC Snapin help documentation for instructions on how to configure DTC
|
|
You can see the Component services MMC Snapin documentation by following these steps:
|
|
1. Run 'dcomcnfg' at the command line
|
|
2. Click 'Help' from the menu, Click 'Help topics'
|
|
|
|
Note: See Windows Firewall documentation for details on how to configure the firewall.
|
|
|
|
|
|
|
|
|
|
Sample Files
|
|
============
|
|
Readme.txt This file
|
|
Makefile Project make file
|
|
CreatePubsDB.SQL SQL script file
|
|
TransactedFileandSQL.cpp Main program
|
|
TransactedFileandSQL.sln Visual Studio Solution File
|
|
TransactedFileandSQL.vcproj Visual C Project File
|
|
|
|
|
|
|
|
Remarks
|
|
=======
|
|
The SQL server can be installed on the local machine or can be remote.
|
|
|
|
By default the local machine is used as the target SQL server, or you can use a remote server by
|
|
indicating the server name in the '-server' command line parameter.
|
|
|
|
The sample adds a new row to the 'jobs' table of the 'pubs' database.
|
|
This database and the table is included in SQL Server 2000 by default, however it does not exist in
|
|
SQL Server 2005. If you don't have this database in your SQL server, you can use the
|
|
CreatePubsDB.SQL script file to create the database.
|
|
|
|
|
|
|
|
To create the database
|
|
======================
|
|
If you don't have the 'pubs' database create it by running the following command at the command line:
|
|
|
|
osql -E -I -i CreatePubsDB.sql
|
|
|
|
|
|
|
|
Usage
|
|
=====
|
|
TransactedFileAndSQL.exe [-server <servername>] [-abort]
|
|
-server <servername>
|
|
SQL server to connect to. Default is the local machine.
|
|
|
|
-abort
|
|
Aborts the transaction at the end. Otherwise by default the
|
|
transaction will be comitted.
|
|
|
|
-help
|
|
Displays the usage information.
|
|
|
|
|
|
|
|
To Run the Sample
|
|
=================
|
|
1. Run TransactedFileAndSQL.exe from the command line with any of the command line parameters indicated above.
|
|
2. If '-abort' is not specified, the sample will
|
|
create a new file named "test.txt" if it doesn't exist and append the current time to it,
|
|
and add a new row to the 'jobs' table of the 'pubs' database.
|
|
3. Observe the contents of "test.txt" and the database table for updates.
|
|
|
|
|
|
|
|
|
|
Supported Platforms
|
|
===================
|
|
Windows Vista
|
|
Windows Server 2008 |