You can enable transactional MTS components to access an Oracle 7.3.3 database through ODBC. MTS works with Oracle 7 Workgroup Server for Windows NT, Oracle 7 Enterprise Server for Windows NT, Oracle 7 Enterprise Servers on UNIX, and Oracle Parallel Server on UNIX.
Your MTS component may access an Oracle 8 database on either Windows NT or Unix provided your Microsoft Transaction Server component uses the Oracle 7 client software. MTS does not support Oracle 8 client software.
This section includes the following topics:
Testing Installation and Configuration of MTS Support for Oracle
Validating Oracle Installation and Configuration Using the Sample Bank Application
Known Limitations of MTS Support for Oracle
Refer to the following table for a list of the software required to access an Oracle database from MTS components running on either the Windows NT or UNIX platform.
Component | Version |
---|---|
Oracle for Windows NT |
|
Oracle SQL*Net | 2.3.3 |
Oracle OCIW32.DLL | 1, 0, 0, 5 |
Oracle for UNIX |
|
Microsoft Transaction Server 2.0 | 2.0 |
Microsoft ODBC Driver for Oracle (MSORCL32.DLL) | 2.0 |
ActiveX Data Objects (ADO) | 1.5 |
Important Earlier versions of the software will not work properly. Please ensure you install the correct versions of the software. Failing to do this is by far the most common source of problems when trying to use MTS with Oracle.
You must install either the Oracle 7.3.3 Workgroup Server release for Windows NT or the Oracle 7.3.3 Enterprise Server release for Windows NT. The Oracle 7.3.2 and earlier releases of Oracle for Windows NT are not supported and will not work in conjunction with MTS transactions.
You must install Oracle 7.3.3 patch release 2 or later. This patch is required for all Oracle 7.3.3 clients accessing an Oracle 7.3.3 or Oracle 8 database. Oracle patch release 2 contains fixes that are required to make Oracle XA transaction support work properly on Windows NT. The Oracle 7.3.3 release will not work with MTS unless Oracle 7.3.3 patch release 2 or later is installed.
Note If you encounter problems setting up Oracle patch release 2 on Windows 95, contact Oracle for support.
To obtain Oracle 7.3.3 patch releases from the Oracle customer support organization you must submit a problem report to the Oracle Customer Support Organization. These patch releases were not available from the Oracle public web site at the time this note was written.
You must install the Oracle SQL*Net 2.3.3 release for Windows NT. You can obtain this release from Oracle. Earlier versions of Oracle SQL*Net may not work.
You must ensure that the correct version of the Oracle OCIW32.DLL is installed. Be very careful to check the version installed on your computer.
The correct version of the Oracle OCIW32.DLL is:
Version 1, 0, 0, 5
Tuesday, March 18, 1997 2:47:52 PM
Size 18KB.
The improper version of the Oracle OCIW32.DLL is:
Version 7.x
Thursday, February 01, 1996 12:50:06 AM
Size 36 KB
You can obtain the correct version of this DLL from the Oracle 7.3.3 installation CD from the \WIN32\V7\RSF73 directory.
In order for transactional MTS components to access an Oracle database on UNIX, you must install the Oracle 7.3.3 release (or later) for that UNIX platform. In most cases, you will also be required to install an Oracle 7.3.3 patch release for Oracle on UNIX.
You must check with Oracle Customer Support to determine if an Oracle 7.3.3 patch release is required for your UNIX platform. Explain that you are going to access your Oracle database on UNIX using the new XA transaction support that is now included in the Oracle 7.3.3 release on Windows NT.
The following patch releases are known to work:
Platform | Oracle Patch |
---|---|
HP 9000 | 7.3.3.3 |
IBM AIX | 7.3.3.2 |
Sun Solaris | 7.3.3.2 |
You must install Microsoft Transaction Server 2.0 if you wish to access an Oracle database using MTS.
The Microsoft ODBC 2.0 Driver for Oracle (MSORCL32.DLL) is required. The Windows NT 4.0 Option Pack program automatically installs this DLL.
If you wish to access an Oracle database, we strongly suggest that you use the new Microsoft ODBC Driver for Oracle 2.0 even if you do not require transaction support. This new driver offers better performance than the ODBC 1.0 driver it replaces. The ODBC 1.0 driver serialized all activity at the driver level; requests were single-threaded through the driver. The ODBC 2.0 driver serializes all activities at the connection level. This allows different database connections to be used in parallel.
If your applications use ADO, you must install the ADO version 1.5. Earlier ADO releases will not work with the new ODBC 3.5 Driver Manager. ADO 1.5 is included in the Windows NT 4.0 Option Pack setup program.
To set up Oracle support for MTS transactional components
If your Oracle database is located on a UNIX system, install the Oracle 7.3.3 release on that system.
If you are using UNIX, install any Oracle 7.3.3 patch releases that are required for your UNIX system. I
To enable an Oracle database to work with MTS transactions
Grant Select on V$XATRANS$ to public.
See your Oracle Server documentation for more information about configuring Oracle support for XA transactions.
Testing Installation and Configuration of MTS Support for Oracle
After installing and configuring Oracle support, you should validate your Oracle installation using the Oracle test program installed with MTS. The Oracle test program uses Oracle's OCI XA interfaces in much the same way that MTS uses them.
The Oracle test program determines whether you can connect to an Oracle database using Oracle's XA facility. The Oracle test program uses standard Oracle interfaces and transaction facilities. It makes no use of Microsoft Transaction Server or Microsoft Distributed Transaction Coordinator. Therefore, failure of the test program indicates that your Oracle is installed or configured improperly. Reinstall and reconfigure Oracle, or contact your Oracle representative.
To run the Oracle test program
c:>TestOracleXaConfig.exe -U<user id> -P<Password>
-S<Server name as in the TNS file>.
If you run the test program with no parameters, the program will display help information that describes the required parameters. The test program will display information about each Oracle operation performed and will indicate whether each operation was successful.
Validating Oracle Installation and Configuration Using the Sample Bank Application
After you have validated your Oracle installation and configuration using the Oracle test program, you can use the Sample Bank Application supplied with Microsoft Transaction Server to ensure that Microsoft Transaction Server can access your Oracle database.
To validate Oracle support using Sample Bank
Owner scott Name of Table Account Column 1 Name AccountNo of type NUMBER Column 2 Name Balance of type NUMBER
AccountNo Balance 1 1000 2 1000
[ODBC] DRIVER=Microsoft ODBC for Oracle UID=scott PWD=mypassword ConnectString=myserver SERVER=myserver
Known Limitations of MTS Support for Oracle
If your applications use ADO, make certain that you install the ADO 1.5. Refer to the Required Software section for more information.
Oracle database connectivity is not supported from Digital Alpha platforms running Microsoft Transaction Server.
It is important that the correct version of the OCIW32.DLL is installed on your computer. You should check the version of the DLL any time you reinstall Oracle or Microsoft Transaction Server.
Oracle sometimes changes DLL names when they release new versions of their product. Microsoft Transaction Server relies upon knowing the names of some Oracle DLLs. Currently, MTS looks for the DLL names provided with Oracle version 7.3.3. As MTS cannot predict future names of these DLLs, you may need to modify the values in the following registry key when you upgrade your Oracle installation:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Transaction Server\Local Computer\My Computer
Under this key there are two string-named values.
If you want to create more than a few dozen connections to an Oracle database, you must configure the Oracle server to support additional database connections.
You may experience one or more of the following errors if you fail to do this:
If you experience any of these problems, increase the following Oracle server configuration parameters: