When I configure JConnect in WebSphere 6.1 to use XA transaction, it
returned me the following error:
Error 500: java.sql.SQLException: JZ0XS: The server does not support
XA-style transactions. Please verify that the transaction feature is enabled
and licensed on this server.DSRA0010E: SQL State = JZ0XS, Error Code = 0
Do I need to check whether our Sybase 12.5.3 support XA transaction?
Any steps to do the checking?
Thanks for your advice in advance,
Raymond
On ASE 12.0 and up, you need the "DTM feature" in order to do XA
style transactions. You also need to enable and configure the
connection user who will do DTM/XA transactions. See the ASE
documentation set for details.
I have script which checks the ASE setup that I will include here. I
believe your dba should be able to understand the commands from it.
/*
** first check if the ASE_DTM feature is licensed
*/
if (license_enabled("ASE_DTM") = 1)
begin
print "GOOD: ASE_DTM licensed properly"
end
else
begin
print "BAD : check ASE_DTM licensing by looking at the server
log messag
es"
end
go
/*
** check to see if the DTM is configured via the
** sp_configure "enable DTM",1
** command
*/
declare c1 cursor for select value from master.dbo.sysconfigures where
name = "e
nable DTM"
go
open c1
go
declare @result int
fetch c1 into @result
if (@result = 1)
begin
print "GOOD: DTM is configured"
end
else
begin
print "BAD : DTM not configured, look at sp_configure ""enable
DTM"" and li
censing"
end
go
close c1
go
deallocate cursor c1
go
/*
** check to see if this user has
** been granted the dtm_tm_role
*/
if ( proc_role("dtm_tm_role") = 1)
begin
print "GOOD: This user has the dtm_tm_role"
end
else
begin
print "BAD : Must sp_role ""grant"", ""dtm_tm_role"",
""userid"" "
end
go
/*
** check to see if the "dtm detach timeout period" is set
** sp_configure "dtm detach timeout period",<minutes>
declare c2 cursor for select value from master.dbo.sysconfigures where
name = "dtm detach timeout period"
go
open c2
go
declare @result int
fetch c2 into @result
if (@result = 0)
begin
print "RECOMMEND: sp_configure ""dtm detach timeout period"",
<minutes>"
end
else
if (@result > 5)
begin
print "GOOD: ""dtm detach timeout period"" is set"
end
else
print "NOT too GOOD: ""dtm detach timeout period"" is set but the
value too
high"
go
close c2
go
deallocate cursor c2
go
Here is an example of it running :
Solaris/xaIvp-> isql -Uscott -Pscottpw -SjandersServer < chkdtm.sql
GOOD: ASE_DTM licensed properly
(1 row affected)
GOOD: DTM is configured
GOOD: This user has the dtm_tm_role
(1 row affected)
NOT too GOOD: "dtm detach timeout period" is set but the value too
high
"J" <jtotall...@sbcglobal.net> wrote in message
news:499c44b6...@forums.sybase.com...
Interesting error. Have you checked that JConnect can connect to ASE ?
I think the problem is IBM WebSphere, within its XA support, does not
support Sybase.
--
Cheers
Derek
Senior Sybase DBA / Information Architect
Copyright Š 2008 Software Gems Pty Ltd
--
Quality Standards = Zero Maintenance + Zero Surprises
Performance Standards = Predictability + Scaleability
I have done Sybase XA transactions with Websphere before. He getting a
very specific error from the jConnect driver about the ASE DTM setup.
Jay