In the meantime... here is my workaround for the problem with SET CHAINED, 
Sybase, and Jonas. It consists of a customized version of the jConnect JDBC 
driver. This approach has the advantage that you don't need to change the 
jonas source or rebuild jonas.

To use it,
i) put the classes below in your CLASSPATH
ii) specify uk.org.rbgkew.sepasal.util.ejb.jonas.JConnectDriverForJonas as 
the JDBC driver (i.e. the value of datasource.classname in 
jonas.properties)
iii) use a JDBC URL for your datasource of the form 
"jdbc:sybaseforjonas:<etc>" instead of the usual "jdbc:sybase:<etc>".

The last step is necessary so that DriverManager.connect() will invoke the 
right driver.

The workaround connection object tries calling setAutoCommit() on the 
Sybase connection object that it wraps, and if the "SET CHAINED command not 
allowed within multistatement transaction" error is generated, it then 
calls commit(), and then calls setAutoCommit() again. So commit() is only 
called as necessary. In all other respects the workaround classes just call 
through to the Sybase classes.

Joe

=====================================================================
Joe Gittings, Royal Botanic Gardens, Kew
Hanover House, Kew, Richmond, Surrey TW9 3AB

[EMAIL PROTECTED]
+44 181 332 5712
fax: +44 181 332 5736


  



begin 600 JConnectDriverForJonas.java
M+R\@5&ET;&4Z(" @(" @("!315!!4T%,('5T:6QI='D@;&EB<F%R>0T*+R\@
M0V]M<&%N>3H@(" @("!2;WEA;"!";W1A;FEC($=A<F1E;G,@2V5W#0HO+R!!
M=71H;W(Z(" @(" @($IO92!':71T:6YG<PT*+R\@1FEL93H@(" @(" @("!*
M0V]N;F5C=$1R:79E<D9O<E-Y8F%S92YJ879A#0H-"G!A8VMA9V4@=6LN;W)G
M+G)B9VME=RYS97!A<V%L+G5T:6PN96IB+FIO;F%S.PT*#0II;7!O<G0@:F%V
M82YS<6PN*CL-"FEM<&]R="!J879A+G5T:6PN*CL-"@T*:6UP;W)T(&-O;2YS
M>6)A<V4N:F1B8S(N:F1B8RXJ.PT*#0HO*BI#=7-T;VUI>F%T:6]N(&]F('1H
M92!J0V]N;F5C="!D<FEV97(@8VQA<W,@=&\@=V]R:R!A<F]U;F0@=&AE(%-%
M5"!#2$%)3D5$#0IP<F]B;&5M('1H870@;V-C=7)S('=H96X@:70@:7,@=7-E
M9"!I;B!*;VYA<RX-"D-U<W1O;6EZ871I;VX@:7,@=FEA(&%G9W)E9V%T:6]N
M(')A=&AE<B!T:&%N(&EN:&5R:71A;F-E+B!4:&ES(&ES(&)E8V%U<V4@=&AE
M(&-O;FYE8W0H*0T*;65T:&]D(&EN('1H92!3>6)A<V4@9')I=F5R+"!W:&EC
M:"!W92!N965D('1O(&-U<W1O;6EZ92P@:7,@9FEN86PN#0I9;W4@<VAO=6QD
M('5S92!T:&4@<W1A;F1A<F0@2D-O;FYE8W0@2D1"0R!54DP@8G5T(&UO9&EF
M:65D('1O(&-O;G1A:6X-"B)J9&)C.G-Y8F%S969O<FIO;F%S.BXN+B(@<F%T
M:&5R('1H86X@(FID8F,Z<WEB87-E.BXN+B(N*B\-"G!U8FQI8R!C;&%S<R!*
M0V]N;F5C=$1R:79E<D9O<DIO;F%S(&EM<&QE;65N=',@:F%V82YS<6PN1')I
M=F5R#0I[#0H@(" O+R!296=I<W1E<B!O=7)S96QV97,@=VET:"!T:&4@1')I
M=F5R36%N86=E<@T*(" @<W1A=&EC"B @('L*(" @(" @=')Y"B @(" @('L*
M(" @(" @"5-Y<W1E;2YO=70N<')I;G1L;B@B4F5G:7-T97)I;F<@2D-O;FYE
M8W1$<FEV97)&;W)*;VYA<R!I;B!S=&%T:6,@:6YI=&EA;&EZ97(@8V]D92XN
M+B(I.PH@(" @(" @("!J879A+G-Q;"Y$<FEV97)-86YA9V5R+G)E9VES=&5R
M1')I=F5R*&YE=R!*0V]N;F5C=$1R:79E<D9O<DIO;F%S*"DI.PH@(" @("!]
M"B @(" @(&-A=&-H("A344Q%>&-E<'1I;VX@92D*(" @(" @>PH@(" @(" @
M("!E+G!R:6YT4W1A8VM4<[EMAIL PROTECTED]@(" @("!]"B @('T*#0H)<')O=&5C
M=&5D(%-Y8D1R:79E<B!M7U-Y8D1R:79E<CL-"@T*"7!U8FQI8R!*0V]N;F5C
M=$1R:79E<D9O<DIO;F%S*"D@=&AR;W=S(%-13$5X8V5P=&EO;@T*(" @>PT*
M(" @"5-Y<W1E;2YO=70N<')I;G1L;B@B26X@2D-O;FYE8W1$<FEV97)&;W)*
M;VYA<R!C;VYS=')U8W1O<B(I.PT*(" @"6U?4WEB1')I=F5R(#T@;F5W(%-Y
M8D1R:79E<[EMAIL PROTECTED]*(" @?0T*#0H@("!P=6)L:6,@:F%V82YS<6PN0V]N;F5C
M=&EO;B!C;VYN96-T*%-T<FEN9R!S55),+%!R;W!E<G1I97,@<')O<',I('1H
M<F]W<R!344Q%>&-E<'1I;VX-"B @('L*(" @"5-Y<W1E;2YO=70N<')I;G1L
M;B@B16YT97)I;F<@2D-O;FYE8W1$<FEV97)&;W)*;VYA<RYC;VYN96-T(BD[
M"B @(" @(%-Y<W1E;2YO=70N<')I;G1L;B@B55),(&ES("(@*R!S55),*3L*
M"B @( E3=')I;F<@<U!R969I>" ](")J9&)C.G-Y8F%S969O<FIO;F%S.B([
M"@H@(" ):68@*'-54DPN<W1A<G1S5VET:"AS4')E9FEX*2D*(" @(" @>PH@
M(" @(" @("!3=')I;F<@<U-Y8F%S95523" ](")J9&)C.G-Y8F%S93HB("L@
M<U523"YS=6)S=')I;F<H<U!R969I>"YL96YG=&@H*2D["B @(" @(" @(%-Y
M<W1E;2YO=70N<')I;G1L;B@B36]D:69I960@55),(&ES("(@*R!S4WEB87-E
M55),*3L*"@D@(" )4WES=&5M+F]U="YP<FEN=&QN*")'971T:6YG(&-O;FYE
M8W1I;VX@9G)O;2!S>6)A<V4@9')I=F5R(BD["B @( D@("!#;VYN96-T:6]N
M(&-O;B ](&U?4WEB1')I=F5R+F-O;FYE8W0H<U-Y8F%S95523"QP<F]P<RD[
M"B @( D)4WES=&5M+F]U="YP<FEN=&QN*")';W0@8V]N;F5C=&EO;B!F<F]M
M('-Y8F%S92!D<FEV97(B*3L-"@D@(" @("!R971U<FX@;F5W($I#;VYN96-T
M0V]N;F5C=&EO;D9O<DIO;F%S*"A3>6)#;VYN96-T:6]N*6-O;BD[#0H@(" @
M("!]#0H@(" @("!E;'-E#0H@(" @(" )=&AR;W<@;F5W(%-13$5X8V5P=&EO
M;B@B0V%N)W0@8V]N;F5C="!T;R!T:&ES(%523"(I.PT*(" @?0T*#0H@("!P
M=6)L:6,@8F]O;&5A;B!A8V-E<'1S55),*%-T<FEN9R!U<FPI('1H<F]W<R!3
M44Q%>&-E<'1I;VX@>W)E='5R;B!M7U-Y8D1R:79E<BYA8V-E<'1S55),*'5R
M;"D[?0T*(" @<'5B;&EC(&EN="!G971-86IO<E9E<G-I;VXH*2![<F5T=7)N
M(&U?4WEB1')I=F5R+F=E=$UA:F]R5F5R<VEO;[EMAIL PROTECTED]"B @('!U8FQI8R!I
M;G0@9V5T36EN;W)697)S:6]N*"D@>W)E='5R;B!M7U-Y8D1R:79E<BYG971-
M:6YO<E9E<G-I;VXH*3M]#0H@("!P=6)L:6,@1')I=F5R4')O<&5R='E);F9O
M6UT@9V5T4')O<&5R='E);F9O*%-T<FEN9R!U<FPL4')O<&5R=&EE<R!I;F9O
M*2!T:')O=W,@4U%,17AC97!T:6]N('MR971U<FX@;5]3>6)$<FEV97(N9V5T
M4')O<&5R='E);F9O*'5R;"QI;F9O*3M]#0H)<'5B;&EC(&)O;VQE86X@:F1B
M8T-O;7!L:6%N="@I('MR971U<FX@;5]3>6)$<FEV97(N:F1B8T-O;7!L:6%N
,="@I.WT-"GT-"@T*
`
end

begin 600 JConnectConnectionForJonas.java
M+R\@5&ET;&4Z(" @(" @("!315!!4T%,('5T:6QI='D@;&EB<F%R>0T*+R\@
M0V]M<&%N>3H@(" @("!2;WEA;"!";W1A;FEC($=A<F1E;G,@2V5W#0HO+R!!
M=71H;W(Z(" @(" @($IO92!':71T:6YG<PT*+R\@1FEL93H@(" @(" @("!*
M0V]N;F5C=$-O;FYE8W1I;VY&;W)*;VYA<RYJ879A#0H-"G!A8VMA9V4@=6LN
M;W)G+G)B9VME=RYS97!A<V%L+G5T:6PN96IB+FIO;F%S.PT*#0II;7!O<G0@
M:F%V82YS<6PN*CL-"FEM<&]R="!J879A+G5T:6PN*CL-"@T*:6UP;W)T(&-O
M;2YS>6)A<V4N:F1B8S(N:F1B8RXJ.PT*#0HO*BI#=7-T;VUI>F%T:6]N(&]F
M(&I#;VYN96-T($-O;FYE8W1I;VX@8VQA<W,Z('1H92!O;FQY(&UE=&AO9"!C
M=7-T;VUI>F5D(&ES('-E=$%U=&]#;VUM:70N#0I#=7-T;VUI>F%T:6]N(&ES
M('9I82!A9V=R96=A=&EO;B!R871H97(@=&AA;B!I;FAE<FET86YC92XJ+PT*
M<'5B;&EC(&-L87-S($I#;VYN96-T0V]N;F5C=&EO;D9O<DIO;F%S(&EM<&QE
M;65N=',@0V]N;F5C=&EO;@T*>PT*"7!R;W1E8W1E9"!3>6)#;VYN96-T:6]N
M(&U?4WEB0V]N;F5C=&EO;CL-"@T*"7!U8FQI8R!*0V]N;F5C=$-O;FYE8W1I
M;VY&;W)*;VYA<RA3>6)#;VYN96-T:6]N(&-O;BD-"B @('L-"B @( EM7U-Y
M8D-O;FYE8W1I;VX@/2!C;VX[#0H@("!]#0H-"B @("\J*D]V97)R:61E(&]F
M('-E=$%U=&]#;VUM:70@=&\@;6%K92!I="!T;VQE<F%N="!O9B!T:&4@9F%C
M="!T:&%T(%-Y8F%S90T*(" @9&]E<VXG="!L:6ME(&ET(&)E:6YG(&-A;&QE
M9"!D=7)I;F<@82!T<F%N<V%C=&EO;BXJ+PT*(" @<'5B;&EC('9O:60@<V5T
M075T;T-O;6UI="AB;V]L96%N(&%U=&]#;VUM:70I('1H<F]W<R!344Q%>&-E
M<'1I;VX-"B @('L-"B @( ET<GD-"B @(" @('L-"@D@(" );5]3>6)#;VYN
M96-T:6]N+G-E=$%U=&]#;VUM:70H875T;T-O;6UI="D[#0H@(" @(" @("!3
M>7-T96TN;W5T+G!R:6YT;&XH(G-E=$%U=&]#;VUM:70H(B K(&%U=&]#;VUM
M:70@*R B*2!S=6-C965D960B*3L-"B @(" @('T-"B @(" @(&-A=&-H("A3
M44Q%>&-E<'1I;VX@92D-"B @(" @('L-"B @(" @( E3=')I;F<@<U)E87-O
M;B ](&4N9V5T365S<V%G92@I+G1O3&]W97)#87-E*"D[#0H@(" @(" @("!I
M9B H<U)E87-O;BYI;F1E>$]F*")S970@8VAA:6YE9"!C;VUM86YD(&YO="!A
M;&QO=V5D(BDA/2TQ*0T*(" @(" @(" @>PT*(" @(" @(" @"5-Y<W1E;2YO
M=70N<')I;G1L;B@B<V5T075T;T-O;6UI="@B("L@875T;T-O;6UI=" K("(I
M(&9A:6QE9"XN+B(I.PT*(" @(" @(" @(" @4WES=&5M+F]U="YP<FEN=&QN
M*")#;VUM:71T:6YG('1H96X@<F5T<GEI;F<B*3L-"B @(" @(" @(" @(&U?
M4WEB0V]N;F5C=&EO;BYC;VUM:70H*3L-"@D)(" @"6U?4WEB0V]N;F5C=&EO
M;BYS971!=71O0V]M;6ET*&%U=&]#;VUM:70I.R O+R!3:&]U;&1N)W0@9F%I
M;"!N;W<N#0H)(" @(" @(" @4WES=&5M+F]U="YP<FEN=&QN*")S971!=71O
M0V]M;6ET*"(@*R!A=71O0V]M;6ET("L@(BD@<W5C8V5E9&5D(&%F=&5R(')E
M=')Y(BD[#0H@(" @(" @("!]#0H@(" @(" @("!E;'-E#0H@(" @(" @(" )
M=&AR;W<@93L@+R\@270G<R!S;VUE(&]T:&5R(%-13$5X8V5P=&EO;CH@<&%S
M<R!I="!U<"X-"B @(" @('T-"B @('T-"@T*(" @<'5B;&EC('9O:60@8VQE
M87)787)N:6YG<R@I('1H<F]W<R!344Q%>&-E<'1I;VX@>VU?4WEB0V]N;F5C
M=&EO;BYC;&5A<E=A<FYI;F=S*"D[?0T*(" @<'5B;&EC('9O:60@8VQO<V4H
M*2!T:')O=W,@4U%,17AC97!T:6]N('MM7U-Y8D-O;FYE8W1I;VXN8VQO<V4H
M*3M]#0H@("!P=6)L:6,@=F]I9"!C;VUM:70H*2!T:')O=W,@4U%,17AC97!T
M:6]N('MM7U-Y8D-O;FYE8W1I;VXN8V]M;6ET*"D[?0T*(" @<'5B;&EC(%-T
M871E;65N="!C<F5A=&53=&%T96UE;G0H*2!T:')O=W,@4U%,17AC97!T:6]N
M('MR971U<FX@;5]3>6)#;VYN96-T:6]N+F-R96%T95-T871E;65N="@I.WT-
M"B @('!U8FQI8R!3=&%T96UE;G0@8W)E871E4W1A=&5M96YT*&EN="!R97-U
M;'139714>7!E+&EN="!R97-U;'13971#;VYC=7)R96YC>2D@=&AR;W=S(%-1
M3$5X8V5P=&EO;B![<F5T=7)N(&U?4WEB0V]N;F5C=&EO;BYC<F5A=&53=&%T
M96UE;G0H<F5S=6QT4V5T5'EP92QR97-U;'13971#;VYC=7)R96YC>2D[?0T*
M(" @<'5B;&EC(&)O;VQE86X@9V5T075T;T-O;6UI="@I('1H<F]W<R!344Q%
M>&-E<'1I;VX@>W)E='5R;B!M7U-Y8D-O;FYE8W1I;VXN9V5T075T;T-O;6UI
M="@I.WT-"B @('!U8FQI8R!3=')I;F<@9V5T0V%T86QO9R@I('1H<F]W<R!3
M44Q%>&-E<'1I;VX@>W)E='5R;B!M7U-Y8D-O;FYE8W1I;VXN9V5T0V%T86QO
[EMAIL PROTECTED]"B @('!U8FQI8R!$871A8F%S94UE=&%$871A(&=E=$UE=&%$871A
M*"D@=&AR;W=S(%-13$5X8V5P=&EO;B![<F5T=7)N(&U?4WEB0V]N;F5C=&EO
M;BYG971-971A1&[EMAIL PROTECTED]"B @('!U8FQI8R!I;G0@9V5T5')A;G-A8W1I
M;VY)<V]L871I;VXH*2!T:')O=W,@4U%,17AC97!T:6]N('MR971U<FX@;5]3
M>6)#;VYN96-T:6]N+F=E=%1R86YS86-T:6]N27-O;&%T:6]N*"D[?0T*(" @
M<'5B;&EC($UA<"!G9714>7!E36%P*"D@=&AR;W=S(%-13$5X8V5P=&EO;B![
M<F5T=7)N(&U?4WEB0V]N;F5C=&EO;BYG9714>7!E36%P*"D[?0T*(" @<'5B
M;&EC(%-13%=A<FYI;F<@9V5T5V%R;FEN9W,H*2!T:')O=W,@4U%,17AC97!T
M:6]N('MR971U<FX@;5]3>6)#;VYN96-T:6]N+F=E=%=A<FYI;F=S*"D[?0T*
M(" @<'5B;&EC(&)O;VQE86X@:7-#;&]S960H*2!T:')O=W,@4U%,17AC97!T
M:6]N('MR971U<FX@;5]3>6)#;VYN96-T:6]N+FES0VQO<V5D*"D[?0T*(" @
M<'5B;&EC(&)O;VQE86X@:7-296%D3VYL>2@I('1H<F]W<R!344Q%>&-E<'1I
M;VX@>W)E='5R;B!M7U-Y8D-O;FYE8W1I;VXN:7-296%D3VYL>[EMAIL PROTECTED]"B @
M('!U8FQI8R!3=')I;F<@;F%T:79E4U%,*%-T<FEN9R!S<6PI('1H<F]W<R!3
M44Q%>&-E<'1I;VX@>W)E='5R;B!M7U-Y8D-O;FYE8W1I;VXN;F%T:79E4U%,
M*'-Q;"D[?0T*(" @<'5B;&EC($-A;&QA8FQE4W1A=&5M96YT('!R97!A<F5#
M86QL*%-T<FEN9R!S<6PI('1H<F]W<R!344Q%>&-E<'1I;VX@>W)E='5R;B!M
M7U-Y8D-O;FYE8W1I;VXN<')E<&%R94-A;&PH<W%L*3M]#0H@("!P=6)L:6,@
M0V%L;&%B;&53=&%T96UE;G0@<')E<&%R94-A;&PH4W1R:6YG('-Q;"QI;G0@
M<F5S=6QT4V5T5'EP92QI;G0@<F5S=6QT4V5T0V]N8W5R<F5N8WDI('1H<F]W
M<R!344Q%>&-E<'1I;VX@>W)E='5R;B!M7U-Y8D-O;FYE8W1I;VXN<')E<&%R
M94-A;&PH<W%L+')E<W5L=%-E=%1Y<&4L<F5S=6QT4V5T0V]N8W5R<F5N8WDI
M.WT-"B @('!U8FQI8R!0<F5P87)E9%-T871E;65N="!P<F5P87)E4W1A=&5M
M96YT*%-T<FEN9R!S<6PI('1H<F]W<R!344Q%>&-E<'1I;VX@>W)E='5R;B!M
M7U-Y8D-O;FYE8W1I;VXN<')E<&%R95-T871E;65N="AS<6PI.WT-"B @('!U
M8FQI8R!0<F5P87)E9%-T871E;65N="!P<F5P87)E4W1A=&5M96YT*%-T<FEN
M9R!S<6PL:6YT(')E<W5L=%-E=%1Y<&4L:6YT(')E<W5L=%-E=$-O;F-U<G)E
M;F-Y*2!T:')O=W,@4U%,17AC97!T:6]N('MR971U<FX@;5]3>6)#;VYN96-T
M:6]N+G!R97!A<F53=&%T96UE;G0H<W%L+')E<W5L=%-E=%1Y<&4L<F5S=6QT
M4V5T0V]N8W5R<F5N8WDI.WT-"B @('!U8FQI8R!V;VED(')O;&QB86-K*"D@
M=&AR;W=S(%-13$5X8V5P=&EO;B![;5]3>6)#;VYN96-T:6]N+G)O;&QB86-K
M*"D[?0T*(" @<'5B;&EC('9O:60@<V5T0V%T86QO9RA3=')I;F<@8V%T86QO
M9RD@=&AR;W=S(%-13$5X8V5P=&EO;B![;5]3>6)#;VYN96-T:6]N+G-E=$-A
M=&%L;V<H8V%T86QO9RD[?0T*(" @<'5B;&EC('9O:60@<V5T4F5A9$]N;'DH
M8F]O;&5A;B!R96%D3VYL>2D@=&AR;W=S(%-13$5X8V5P=&EO;B![;5]3>6)#
M;VYN96-T:6]N+G-E=%)E861/;FQY*')E861/;FQY*3M]#0H@("!P=6)L:6,@
M=F]I9"!S9714<F%N<V%C=&EO;DES;VQA=&EO;BAI;G0@;&5V96PI('1H<F]W
M<R!344Q%>&-E<'1I;VX@>VU?4WEB0V]N;F5C=&EO;BYS9714<F%N<V%C=&EO
M;DES;VQA=&EO;BAL979E;"D[?0T*(" @<'5B;&EC('9O:60@<V5T5'EP94UA
M<"A-87 @;6%P*2!T:')O=W,@4U%,17AC97!T:6]N('MM7U-Y8D-O;FYE8W1I
;;VXN<V5T5'EP94UA<"AM87 I.WT-"GT-"@T*
`
end

----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".

Reply via email to