Use troubleshooting tips for help accessing Microsoft SQL
Server data sources.
What problem are you having accessing
your Microsoft SQL Server database?
Hang in Microsoft SQL Server JDBC Driver
V2.0 after connection error
If you are using version 2.0
of the Microsoft SQL Server JDBC Driver (other versions do not have
the problem), you might experience a hang after a connection error
occurs. The following test fix from Microsoft fixes this problem:
http://support.microsoft.com/kb/977924
ERROR CODE: 20001 and SQL STATE:
HY000 accessing SQLServer database
The problem might be
that the distributed transaction coordinator service is not started.
Look for an error similar to the following example when attempting
to access a Microsoft SQL Server database:
ERROR CODE: 20001
SQL STATE: HY000
java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]
[SQLServer]xa_open (0) returns -3
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) ...
at com.microsoft.jdbcx.sqlserver.SQLServerDataSource.getXAConnection
(Unknown Source) ...
To confirm this problem:
- Go to the Windows . Or,
click .
- Verify whether the service Distributed Transaction
Coordinator or DTC is started.
- If not, start the Distributed Transaction Coordinator service.
Application fails with message
stating "Cannot find stored procedure..." accessing a Microsoft
SQL Server database
This error can occur because the stored
procedures for the Java Transaction API (JTA) feature
are not installed on the Microsoft SQL
Server.
To resolve the problem, repeat the installation for
the stored procedures for the JTA feature, according to the JDBC driver
installation guide.
ERROR CODE: SQL5042 when you run
a Java application
This error can occur
when you configure your application to run in the following manner:
- You use a type 2 (application) driver running on the gateway to
the OS 390
- Your application is an XA application.
OS 390 does not use XA, but uses SPM. To resolve the problem:
- Check your dbm cfg to see that the SPM is not started on the gateway.
- Assign a port and set the db2comm variable
to TCPIP.
- Update the dbm cfg value SPM_NAME to use your
machine name.
- Start the SPM on the gateway.
JAVAX.TRANSACTION.XA.XAEXCEPTION
occurs with error: XP_SQLJDBC_XA_INIT
If you are using a
Microsoft SQLSERVER database on Windows Server 2003, and you move
a cluster of SQL servers from one node to another node, or shut down
the cluster, the setting in Windows Component Services might be reset
to disabled. When this problem occurs, a JAVAX.TRANSACTION.XA.XAEXCEPTION
with Error: XP_SQLJDBC_XA_INIT might occur because the JDBC driver
is no longer enabled for XA transactions.
To re-enable XA transactions
in Windows Component Services, complete the following actions:
- From your Microsoft Windows desktop, click .
- Expand the tree view to locate the computer where you want to
turn on support for XA transactions; for example, My Computer.
- Display the context menu for the computer name, and then click .
- Click ,
and then set to a length of time that suits your environment. The
recommended minimum setting is 180 seconds.
- Click ,
and then click .
- Under , select to enable this support.
- Click to
save your changes.
Avoid trouble: The installation
documentation for JDBC XA connectivity refers to two known problems.
See the Microsoft support site for more information:
- KB899756: Windows 2003 only. MSDTC does not detect process termination,
and MSDTC cannot set time-out values for XA transactions in Windows
Server 2003.
- KB318818: Performance slows down when you use XA Transactions
with SQL Server.
gotcha