Sybase jdbc throws Resource PermissionsException wls8.1 sp2
HI,
I just upgraded from wls 6.1 to wls 8.1 sp2. My Connection pools are not working
anymore.
I am using sybase server 11.5.1 with the jconnect 5. I am making database calls
(that
used to work). Here's the strange thing, I have a startup class that runs an
sql query when weblogic server comes up (in the main thread i am assuming) and
it works. But calling the same exact sql query fails when i click on my webapp
that leads to the same query (it is called from a different thread).
Any ideas? I am assuming it's a security issue where the main thread uses the
correct username and password and the other threads don't. Heres my config file
and my exception trace:
<JDBCTxDataSource JNDIName="FOO" Name="MyJDBC Data Source"
PoolName="MyJDBC Connection Pool-1" Targets="portal"/>
<JDBCConnectionPool DriverName="com.sybase.jdbc2.jdbc.SybDriver"
Name="MyJDBC Connection Pool-1" Password="xxx"
Properties="user=vwap;url=jdbc:sybase:Tds:myhost:9501/vwap;networkProtocol=Tds;portNumber=9501;userName=vwap;databaseName=vwap;serverName=myhost"
Targets="portal"
TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:sybase:Tds:myhost:9501/vwap"/>
I also tried it with weblogic sybase driver and same results:
<JDBCConnectionPool DriverName="weblogic.jdbc.sybase.SybaseDriver"
Name="MyJDBC Connection Pool" Password="xxx"
Properties="user=vwap;url=jdbc:bea:sybase://myhost:9501;portNumber=9501;databaseName=vwap;serverName=myhost"
Targets="portal"
TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sybase://myhost:9501"/>
error.weblogic.common.resourcepool.ResourcePermissionsException: User "<anonymous>"
does not have permission to perform operation "reserve" on resource "MyJDBC Connection
Pool-1" of application "null" of type "ConnectionPool"
weblogic.jdbc.extensions.PoolPermissionsSQLException: weblogic.common.resourcepool.ResourcePermissionsException:
User "<anonymous>" does not have permission to perform operation "reserve" on
resource "MyJDBC Connection Pool-1" of application "null" of type "ConnectionPool"
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:157)
at weblogic.jdbc.pool.Driver.connect(Driver.java:156)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:444)
at weblogic.jdbc.jts.Driver.connect(Driver.java:138)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at com.itginc.strategyServers.common.database.Database.initializeUserCache(Database.java:729)
at com.itginc.strategyServers.common.database.Database.connect(Database.java:104)
at com.itginc.strategyServers.common.database.Database.getClients(Database.java:157)
at com.itginc.strategyServers.common.servlets.ClientsServlet.doPost(ClientsServlet.java:41)
at com.itginc.strategyServers.common.servlets.BaseServlet.doGet(BaseServlet.java:110)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at com.itginc.strategyServers.common.servlets.BaseServlet.service(BaseServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:301)
at com.itginc.strategyServers.common.servlets.LoginServlet.doPost(LoginServlet.java:230)
at com.itginc.strategyServers.common.servlets.LoginServlet.doGet(LoginServlet.java:242)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
farnaz wrote:
I changed the following line in my fileRealm.properties and fixed the problem.
Is this the correct thing to do?
acl.reserve.weblogic.jdbc.connectionPool=system
changed to
acl.reserve.weblogic.jdbc.connectionPool=everyoneyes.
Joe
>
>
>
>
"farnaz" <[email protected]> wrote:
A few issues, i've been stuck on this problem for 2 days now, please
HELP!
1. My acl settings (i looked at them via the console) seems to have "everyone"
permission for all jdbc operations: reserve, shrink, etc.
2. If acl is not the way to set security policies why is it shown in
the console?
3. I cannot find anywhere in the wls8.1 documentation on how to set security
policies
for jdbc.
Can i see an example?
4. I was not using any java securtiy when i got that error, so then I
added the
-Djava.security.manager to my startup cmd line for starting weblogic
using the
default weblogic policy in $WLSHOME/server/lib/weblogic policy (unmodified)
and
got the following exception on startup, help!
The Horizon Portal could not be started, because the Application Manager
failed
to initialize. access denied (java.lang.RuntimePermission weblogic.kernelPermission)
java.security.AccessControlException: access denied (java.lang.RuntimePermission
weblogic.kernelPermission)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at weblogic.security.service.SubjectManagerImpl.checkKernelPermission(SubjectManagerImpl.java:202)
at weblogic.security.service.SubjectManagerImpl.getKernelIdentity(SubjectManagerImpl.java:181)
at weblogic.security.subject.SubjectManager.isKernelIdentity(SubjectManager.java:102)
at weblogic.security.service.SubjectManagerImpl.checkKernelIdentity(SubjectManagerImpl.java:214)
at weblogic.security.subject.DelegatingSubjectStack.getCurrentSubject(DelegatingSubjectStack.java:31)
at weblogic.security.service.SubjectManagerImpl.getCurrentSubject(SubjectManagerImpl.java:61)
at weblogic.security.service.SecurityManager.getCurrentSubject(SecurityManager.java:43)
at weblogic.jndi.internal.ServerNamingNode.checkPermission(ServerNamingNode.java:330)
at weblogic.jndi.internal.ServerNamingNode.checkModify(ServerNamingNode.java:306)
at weblogic.jndi.internal.ServerNamingNode.rebindHere(ServerNamingNode.java:166)
at weblogic.jndi.internal.BasicNamingNode.rebind(BasicNamingNode.java:382)
at weblogic.jndi.internal.WLEventContextImpl.rebind(WLEventContextImpl.java:118)
at javax.naming.InitialContext.rebind(InitialContext.java:363)
at com.itginc.strategyServers.common.database.DatabaseLookup.bind(DatabaseLookup.java:45)
at com.itginc.strategyServers.horizon.services.AppManager.Initialize(AppManager.java:66)
at com.itginc.strategyServers.horizon.services.AppManager.<init>(AppManager.java:44)
at com.itginc.strategyServers.horizon.services.AppManager.makeClass(AppManager.java:22)
at com.itginc.strategyServers.horizon.services.Startup.startup(Startup.java:27)
at weblogic.t3.srvr.StartupClassService.invokeStartup(StartupClassService.java:177)
at weblogic.t3.srvr.StartupClassService.invokeClass(StartupClassService.java:158)
at weblogic.t3.srvr.StartupClassService.access$000(StartupClassService.java:36)
at weblogic.t3.srvr.StartupClassService$1.run(StartupClassService.java:121)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.t3.srvr.StartupClassService.invokeStartupClass(StartupClassService.java:116)
at weblogic.t3.srvr.PostDeploymentStartupService.resume(PostDeploymentStartupService.java:22)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:964)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:359)
at weblogic.Server.main(Server.java:32)
Joe Weinstein <[email protected]> wrote:
Hi. Two things:
Your test table SQL is wasteful. sysobjects is a big table. No needto
count everything
in it every time to check the connections. Try "SQL select 1" for abetter
one.
The problem isn't in the pool definition. It's a security issue. You
should edit your
weblogic.policy file to allow jdbc access to everyone.
Joe
farnaz wrote:
HI,
I just upgraded from wls 6.1 to wls 8.1 sp2. My Connection pools
are
not working
anymore.
I am using sybase server 11.5.1 with the jconnect 5. I am making
database
calls
(that
used to work). Here's the strange thing, I have a startup class thatruns an
sql query when weblogic server comes up (in the main thread i am assuming)and
it works. But calling the same exact sql query fails when i clickon my webapp
that leads to the same query (it is called from a different thread).
Any ideas? I am assuming it's a security issue where the main threaduses the
correct username and password and the other threads don't. Heres
my
config file
and my exception trace:
<JDBCTxDataSource JNDIName="FOO" Name="MyJDBC Data Source"
PoolName="MyJDBC Connection Pool-1" Targets="portal"/>
<JDBCConnectionPool DriverName="com.sybase.jdbc2.jdbc.SybDriver"
Name="MyJDBC Connection Pool-1" Password="xxx"
Properties="user=vwap;url=jdbc:sybase:Tds:myhost:9501/vwap;networkProtocol=Tds;portNumber=9501;userName=vwap;databaseName=vwap;serverName=myhost"
Targets="portal"
TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:sybase:Tds:myhost:9501/vwap"/>
I also tried it with weblogic sybase driver and same results:
<JDBCConnectionPool DriverName="weblogic.jdbc.sybase.SybaseDriver"
Name="MyJDBC Connection Pool" Password="xxx"
Properties="user=vwap;url=jdbc:bea:sybase://myhost:9501;portNumber=9501;databaseName=vwap;serverName=myhost"
Targets="portal"
TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sybase://myhost:9501"/>
error.weblogic.common.resourcepool.ResourcePermissionsException: User"<anonymous>"
does not have permission to perform operation "reserve" on resource"MyJDBC Connection
Pool-1" of application "null" of type "ConnectionPool"
weblogic.jdbc.extensions.PoolPermissionsSQLException: weblogic.common.resourcepool.ResourcePermissionsException:
User "<anonymous>" does not have permission to perform operation "reserve"on
resource "MyJDBC Connection Pool-1" of application "null" of type
"ConnectionPool"
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:157)
at weblogic.jdbc.pool.Driver.connect(Driver.java:156)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:444)
at weblogic.jdbc.jts.Driver.connect(Driver.java:138)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at com.itginc.strategyServers.common.database.Database.initializeUserCache(Database.java:729)
at com.itginc.strategyServers.common.database.Database.connect(Database.java:104)
at com.itginc.strategyServers.common.database.Database.getClients(Database.java:157)
at com.itginc.strategyServers.common.servlets.ClientsServlet.doPost(ClientsServlet.java:41)
at com.itginc.strategyServers.common.servlets.BaseServlet.doGet(BaseServlet.java:110)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at com.itginc.strategyServers.common.servlets.BaseServlet.service(BaseServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:301)
at com.itginc.strategyServers.common.servlets.LoginServlet.doPost(LoginServlet.java:230)
at com.itginc.strategyServers.common.servlets.LoginServlet.doGet(LoginServlet.java:242)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Similar Messages
-
Sybase exception moving from WLS8.1 SP2 to WLS 8.1 SP4
Hi,
I have a test case that works with WLS 8.1 SP2, but fails when I try SP4. I'm using the sybase jconnect 5.5 driver. I'll put my JDBC conn pool info after the exception.
Error (Wed Apr 20 15:56:57 MDT 2005) : Message - 65029 component - DatabaseAcces
s.setDBCallReturnData=> Values - Param: { ? = call Lssi02..getEssPostalInfo(@pos
talCd='1204',@countryCd='CH',@serviceClassCd='#2',@targetDt='09/30/2004') }
com.sybase.jdbc.SybSQLException: Incorrect syntax near '.'.
at com.sybase.tds.Tds.processEed(Lcom.sybase.tds.TdsProtocolContext;Lcom
.sybase.tds.EedToken;)Z(Tds.java:???)
at com.sybase.tds.Tds.nextResult(Lcom.sybase.jdbc.ProtocolContext;)I(Tds
.java:???)
at com.sybase.jdbc.ResultGetter.nextResult()I(ResultGetter.java:???)
at com.sybase.jdbc.SybStatement.nextResult()I(SybStatement.java:???)
at com.sybase.jdbc.SybStatement.executeLoop()Z(SybStatement.java:???)
at com.sybase.jdbc.SybStatement.execute(Ljava.lang.String;Lcom.sybase.jd
bc.ParamManager;)Z(SybStatement.java:???)
at com.sybase.jdbc.SybCallableStatement.execute()Z(SybCallableStatement.
java:???)
at weblogic.jdbc.wrapper.PreparedStatement.execute()Z(PreparedStatement.
java:102)
at com.fedex.lssi.common.DatabaseAccess.setDBCallReturnData(Ljava.sql.Ca
llableStatement;Ljava.lang.String;)V(Unknown Source)
at com.fedex.lssi.common.DatabaseAccess.getResultSet(Ljava.lang.String;)
Ljava.util.ArrayList;(Unknown Source)
at com.fedex.lssi.inquiry.LssiRequest.service(Ljavax.servlet.http.HttpSe
rvletRequest;Ljavax.servlet.http.HttpServletResponse;)V(Unknown Source)
at javax.servlet.http.HttpServlet.service(Ljavax.servlet.ServletRequest;
Ljavax.servlet.ServletResponse;)V(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
()Ljava.lang.Object;(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servle
t.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.Filte
rChainImpl;)V(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servle
t.ServletRequest;Ljavax.servlet.ServletResponse;)V(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run()Ljava.lang.Object;(WebAppServletContext.java:6718)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.se
curity.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Objec
t;(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.ac
l.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSub
ject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(SecurityManager.java:12
1)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogi
c.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponse
Impl;)V(WebAppServletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel
.ExecuteThread;)V(ServletRequestImpl.java:2644)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest
;)V(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Sourc
<JDBCConnectionPool DriverName="com.sybase.jdbc.SybDriver"
InitialCapacity="1" Name="LssiConnPool1"
PasswordEncrypted="{3DES}/v205ffY4/8="
Properties="user=lssi;url=jdbc:sybase:Tds:condor.rmtc.fedex.com:4100/Lssi01;networkProtocol=Tds;portNumber=4100;userName=lssi;databaseName=Lssi01;serverName=condor.rmtc.fedex.com"
Targets="myserver" TestConnectionsOnReserve="true"
TestTableName="SQL SELECT 1" URL="jdbc:sybase:Tds:condor.rmtc.fedex.com:4100/Lssi01"/>Pat Bumpus wrote:
Hi,
I have a test case that works with WLS 8.1 SP2, but fails when I try SP4.
I'm using the sybase jconnect 5.5 driver. I'll put my JDBC conn pool info after the exception.Are you sure the same sybase driver is being used in both cases? Is it the driver
we ship? (I do think we shipped the same sybase dirver in both cases). And absolutely
nothing else is different? Odd. Does this happen the very first time this SQL is executed?
The only possible way to think WebLogic is involved is that there is a wrapper
statement in between your call and the sybase driver class. Can you try the same
JDBC code doing the same query in something simple like a JSP, and see if it repeats?
Try it in both servers. First get the connection from the pool. Then try it getting
the connection directly from the sybase driver. I will be very surprised if
we have anything to do with it... We certainly don't do anything with the SQL you send.
Joe
>
Error (Wed Apr 20 15:56:57 MDT 2005) : Message - 65029 component - DatabaseAcces
s.setDBCallReturnData=> Values - Param: { ? = call Lssi02..getEssPostalInfo(@pos
talCd='1204',@countryCd='CH',@serviceClassCd='#2',@targetDt='09/30/2004') }
com.sybase.jdbc.SybSQLException: Incorrect syntax near '.'.
at com.sybase.tds.Tds.processEed(Lcom.sybase.tds.TdsProtocolContext;Lcom
.sybase.tds.EedToken;)Z(Tds.java:???)
at com.sybase.tds.Tds.nextResult(Lcom.sybase.jdbc.ProtocolContext;)I(Tds
.java:???)
at com.sybase.jdbc.ResultGetter.nextResult()I(ResultGetter.java:???)
at com.sybase.jdbc.SybStatement.nextResult()I(SybStatement.java:???)
at com.sybase.jdbc.SybStatement.executeLoop()Z(SybStatement.java:???)
at com.sybase.jdbc.SybStatement.execute(Ljava.lang.String;Lcom.sybase.jd
bc.ParamManager;)Z(SybStatement.java:???)
at com.sybase.jdbc.SybCallableStatement.execute()Z(SybCallableStatement.
java:???)
at weblogic.jdbc.wrapper.PreparedStatement.execute()Z(PreparedStatement.
java:102)
at com.fedex.lssi.common.DatabaseAccess.setDBCallReturnData(Ljava.sql.Ca
llableStatement;Ljava.lang.String;)V(Unknown Source)
at com.fedex.lssi.common.DatabaseAccess.getResultSet(Ljava.lang.String;)
Ljava.util.ArrayList;(Unknown Source)
at com.fedex.lssi.inquiry.LssiRequest.service(Ljavax.servlet.http.HttpSe
rvletRequest;Ljavax.servlet.http.HttpServletResponse;)V(Unknown Source)
at javax.servlet.http.HttpServlet.service(Ljavax.servlet.ServletRequest;
Ljavax.servlet.ServletResponse;)V(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
()Ljava.lang.Object;(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servle
t.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.Filte
rChainImpl;)V(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servle
t.ServletRequest;Ljavax.servlet.ServletResponse;)V(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run()Ljava.lang.Object;(WebAppServletContext.java:6718)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.se
curity.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Objec
t;(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.ac
l.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSub
ject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(SecurityManager.java:12
1)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogi
c.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponse
Impl;)V(WebAppServletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel
.ExecuteThread;)V(ServletRequestImpl.java:2644)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest
;)V(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Sourc
<JDBCConnectionPool DriverName="com.sybase.jdbc.SybDriver"
InitialCapacity="1" Name="LssiConnPool1"
PasswordEncrypted="{3DES}/v205ffY4/8="
Properties="user=lssi;url=jdbc:sybase:Tds:condor.rmtc.fedex.com:4100/Lssi01;networkProtocol=Tds;portNumber=4100;userName=lssi;databaseName=Lssi01;serverName=condor.rmtc.fedex.com"
Targets="myserver" TestConnectionsOnReserve="true"
TestTableName="SQL SELECT 1" URL="jdbc:sybase:Tds:condor.rmtc.fedex.com:4100/Lssi01"/> -
Sybase JDBC driver & Invalid column name error
I submitted a note a year ago concerning JDBC-ODBC bridge and SQL Server db. Same Invalid column name error. The resolution was a bug in the XSU code.
This time the error is with a jconnect5 JDBC driver from Sybase to a Sybase ASA db. ASA is Adaptive Server Anywhere.
<ERROR xsql-timing="140">oracle.xml.sql.OracleXMLSQLException: S0022: Invalid column name 'name'.</ERROR>
However if I use a Sybase JDBC driver from INet Software of Germany, I get the desired result of my query.
Below are sample XSQLConfig.xml definitions.
INet Software Sybase JDBC driver definition:
- <connection name="deasa">
<username>dba</username>
<password>sql</password>
<dburl>jdbc:inetsyb:LEMKAU:2638?database=asademo</dburl>
<driver>com.inet.syb.SybDriver</driver>
<autocommit>true</autocommit>
</connection>
Sybase jconnect5 Sybase JDBC driver definition:
- <connection name="asa">
<username>dba</username>
<password>sql</password>
<dburl>jdbc:sybase:Tds:lemkau:2638?ServiceName=asademo</dburl>
<driver>com.sybase.jdbc.SybDriver</driver>
<autocommit>true</autocommit>
</connection>
I believe the bug has to do with the numeric codes that the drivers use to determine data types are not properly interpreted.
See XML General note title "insert-request, xsu 2.1.0 beta & SQL Server" for reference.
Steve.Thanks for the notification. We will look into this issue...
-
[Sybase JDBC Driver]Object has been closed
Hi,
I am getting the following error when accessing a datasource in an EJB on Weblogic using the Data Direct Drivers.
java.sql.SQLException: [DataDirect][Sybase JDBC Driver]Object has been closed.
The code works every other time. the first time through it works the second time I get the error.
Any insite would be appricated.
Here is my code
public String test(String id)
System.out.println ("test1");
DataSource ds = null;
Connection conn = null;
PreparedStatement stmt = null;
PreparedStatement stmt2 = null;
String ret = "?????";
try
System.out.println ("read data - prepare");
InitialContext ic = new InitialContext();
ds = (DataSource)ic.lookup("java:comp/env/jdbc/dataconn");
conn = ds.getConnection();
String sql = "SELECT * FROM myTable WHERE ID = ?";
System.out.println ("read data - conn.prepareStatement(sql);");
stmt = conn.prepareStatement(sql);
stmt.setString(1, id);
// stmt.setMaxRows(1000);
System.out.println ("read data - stmt.executeQuery();");
ResultSet rs = stmt.executeQuery();
System.out.println ("read data - read");
if(!rs.next())
ret = "Not found";
else
ret = "found";
sql = "UPDATE myTable SET column1 = column1 + 1 WHERE ID = ?";
System.out.println ("update data - prepare");
stmt2 = conn.prepareStatement(sql);
stmt2.setString(1, id);
ret = ret + stmt2.executeUpdate();
System.out.println ("update data - update");
catch(Exception e)
e.printStackTrace();
finally
try
stmt.close();
catch(Exception exception1) { }
try
stmt2.close();
catch(Exception exception1) { }
try
conn.close();
catch(Exception exception1) { }
stmt = null;
stmt2 = null;
conn = null;
return ret;
}Hi. What version of weblogic, and can you print the whole stacktrace?
That way I'll know which object is already closed. This hints at an
already-fixed bug, but I'm not sure yet... And tell me what happens
if you close your result set after you do your call to next(). Lastly,
you can save some DBMS traffic if you change the query to:
"SELECT 1 FROM myTable WHERE ID = ?"
Then regardless of how wide the table is, and whether the table data
is in DBMS memory, as long as there's an index on ID, the query only
needs to use the index, not the data page to answer. If there's an
index entry for your ID value, you'll get one row with 1 in it, else
nothing.
thanks
Joe
Scot McReynolds wrote:
Hi,
I am getting the following error when accessing a datasource in an EJB on Weblogic using the Data Direct Drivers.
java.sql.SQLException: [DataDirect][Sybase JDBC Driver]Object has been closed.
The code works every other time. the first time through it works the second time I get the error.
Any insite would be appricated.
Here is my code
public String test(String id)
System.out.println ("test1");
DataSource ds = null;
Connection conn = null;
PreparedStatement stmt = null;
PreparedStatement stmt2 = null;
String ret = "?????";
try
System.out.println ("read data - prepare");
InitialContext ic = new InitialContext();
ds = (DataSource)ic.lookup("java:comp/env/jdbc/dataconn");
conn = ds.getConnection();
String sql = "SELECT * FROM myTable WHERE ID = ?";
System.out.println ("read data - conn.prepareStatement(sql);");
stmt = conn.prepareStatement(sql);
stmt.setString(1, id);
// stmt.setMaxRows(1000);
System.out.println ("read data - stmt.executeQuery();");
ResultSet rs = stmt.executeQuery();
System.out.println ("read data - read");
if(!rs.next())
ret = "Not found";
else
ret = "found";
sql = "UPDATE myTable SET column1 = column1 + 1 WHERE ID = ?";
System.out.println ("update data - prepare");
stmt2 = conn.prepareStatement(sql);
stmt2.setString(1, id);
ret = ret + stmt2.executeUpdate();
System.out.println ("update data - update");
catch(Exception e)
e.printStackTrace();
finally
try
stmt.close();
catch(Exception exception1) { }
try
stmt2.close();
catch(Exception exception1) { }
try
conn.close();
catch(Exception exception1) { }
stmt = null;
stmt2 = null;
conn = null;
return ret; -
CachedRowSet with sybase JDBC driver
In previous postings you mentioned the solution to using CachedRowSets with Sybase
JDBC involves setting certain properties. My question is WHERE and WHEN do you
set these properties?Peter Wu wrote:
Hello,
Does anyone know if there is any way to use CachedRowSet with sybase JDBC
driver?
I knew there was posting regarding this in the year 2000. And now it 2003. Thanks!
PeterYes there is, but it involves some driver-specific properties, and I know this from
a discussion I read on their jdbc support newsgroup. That would be the best place
for an answer about their driver. Try news://forums.sybase.com, in the sybase.public.jconnect50
group.
Joe -
Using CachedRowSet with sybase JDBC driver
Hello,
Does anyone know if there is any way to use CachedRowSet with sybase JDBC
driver?
I knew there was posting regarding this in the year 2000. And now it 2003. Thanks!
PeterPeter Wu wrote:
Hello,
Does anyone know if there is any way to use CachedRowSet with sybase JDBC
driver?
I knew there was posting regarding this in the year 2000. And now it 2003. Thanks!
PeterYes there is, but it involves some driver-specific properties, and I know this from
a discussion I read on their jdbc support newsgroup. That would be the best place
for an answer about their driver. Try news://forums.sybase.com, in the sybase.public.jconnect50
group.
Joe -
Character encoding and Sybase JDBC driver
Hi,
I have an issue with the Sybase JDBC driver we are using. We have characters in our database, e.g., canon with a ~ over the n. When I do a getString from the ResultSet, I see a ? instead of the character. I'm specifying utf8 as the encoding in the properties in the WLS console. I tried utf16 or ucs2, but I got exceptions from the Sybase JDBC driver at start up.
Any help would be greatly appreciated.Pat Bumpus wrote:
Hi,
I have an issue with the Sybase JDBC driver we are using. We have characters in our database, e.g., canon with a ~ over the n. When I do a getString from the ResultSet, I see a ? instead of the character. I'm specifying utf8 as the encoding in the properties in the WLS console. I tried utf16 or ucs2, but I got exceptions from the Sybase JDBC driver at start up.
Any help would be greatly appreciated.Which Sybase driver are you using?
Joe -
A hard learnt lesson for an Informix newbie... When I created the
database a few weeks ago I failed to select a "logging" mode. Little
did I realise the implications until now. I have now created a new
database with "logging" set to buffered_log, this of course enables
transactions and WLS stops complaining instantly.
Such a simple error with such a lousy error message !!
Regards,
Ingmar
[email protected] (Ingmar Meins) wrote in message news:<[email protected]>...
Hi people,
I am running Informix Dynamic Server 9.3 on an XP Pro box, Weblogic
Server 6.1 (sp2) on another and have the two talking via the ifxjdbc
driver version 2.21.
(Dev environment only)
Session beans deploy fine and run okay talking to Ifx via the jdbc.
Everything suggests the whole lot is working... until I try to deploy
an entity bean (CMP) to WLS. The error message I get is -
Unable to deploy EJB: Users1 from icmfejb.jar:
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Table:
users
Full Table Check failed, but table all columns were found! ] at
weblogic.ejb20.utils.TableVerifier.verifyTableAndColumnsExist(TableVerifier.
java:274) at
weblogic.ejb20.utils.TableVerifier.verifyTableExistsAndCreateMaybe(TableVeri
fier.java:294)
It does not matter how simple the table or the EB I get this message
everytime. I rang BEA Australia and the guys had not heard of the
error message before.
When I throw Informix away and go back to mySQL using exactly the same
table names etc etc and EB all works without a problem.. Problem is
they won't let me run mySQL on the Sun E10k !! :-)
Any suggestions would be VERY gratefully received, this is driving me
mad.
Thanks,
Ingmar
NSW Police -
Sybase JDBC Connection - OWB11gr2 Issue
Hi All,
We are uning OWB11gr2 on 64-bit linux box. Database is Oracle 11.1.0.6. We are trying to connect to Sybase database is ASA 9.0.
Added the JAR files "jconn2.jar" and "jodbc.jar" under OWB_HOME/owb/lib/ext.
Restarted Control Centre Agent and OWB client.
Created a new platform for Sybase database connection.
Under location Details -
I entered Username and Password.
Port Number of the database.
I kept Schema option Blank.
Driver Class - com.sybase.jdbc2.jdbc.SysDriver
Url - jdbc:sybase:Tds:machine-name:port-number/databasename
When I hit the test connection button it returns as Successful.
But When i try to import database objects , I cannot see any database objects.
After testing connection(successfully) when i hit the browse button to get schema names i get the following error -
Failed: java.sql.SQLException:jZ0sj:Metadata accessor information was not found on this database. Please install the required tables as mentioned in the jconnect documentation.
What could be the issue ?? I am not sure whether this problem is related to OWB or Sybase.
When I use the ODBC connection on windows box with same username and password for the same database i see few views and tables.
Any help is appreciated.
Regards,
Samurai.Hi David,
I just edited the script. Since there are no tables( user just has read rights over few views) for the user I am trying to run , i modified the script to run against the views.
The following is the output for the view which had the text column -
DataType : varchar Column : nfsExportName Table : nfsExportView
DataType : varchar Column : nfsExportActualPath Table : nfsExportView
DataType : varchar Column : nfsExportAnonymousUserID Table : nfsExportView
DataType : varchar Column : nfsExportNoSUID Table : nfsExportView
DataType : long varchar Column : nfsExportReadOnlyAccess Table : nfsExportView
DataType : long varchar Column : nfsExportReadWriteAccess Table : nfsExportView
DataType : long varchar Column : nfsExportRootAccess Table : nfsExportView
DataType : long varchar Column : nfsExportSecurity Table : nfsExportView
DataType : unsigned int Column : nfsExportHostId Table : nfsExportView
DataType : unsigned int Column : nfsExportVolId Table : nfsExportView
DataType : unsigned int Column : nfsExportQtreeId Table : nfsExportView
If you need the entire output please let me know , i will paste it.
It looks like text is subsititued by long varchar. What can be done to overcome this situation ?
Thanks,
Samurai. -
Create a JDBC system resource using MBeans i Weblogic v10 server
Hi,
I'm trying to create a JDBC resource on Weblogic V 10 Admin server from a remote java client using MBeans. At the client side the following exception is thrown:
Exception in thread "main" weblogic.management.NoAccessRuntimeException: [JMX:14
9520]An attempt was made to Register an MBean with ObjectName com.bea:Location=w
l_server,Name=Test-examples-demo,Type=JDBCSystemResource ObjectName in com.bea d
omain.
at weblogic.management.mbeanservers.internal.SecurityInterceptor.checkFo
rBEADomain(SecurityInterceptor.java:1263)
at weblogic.management.mbeanservers.internal.SecurityInterceptor.createM
Bean(SecurityInterceptor.java:148)
at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterce
ptor$1.run(AuthenticatedSubjectInterceptor.java:62)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterce
ptor.createMBean(AuthenticatedSubjectInterceptor.java:60)
at weblogic.management.jmx.mbeanserver.WLSMBeanServer.createMBean(WLSMBe
anServer.java:157)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnecti
onImpl.java:1363)
at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectio
nImpl.java:81)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run
(RMIConnectionImpl.java:1245)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(R
MIConnectionImpl.java:1348)
at javax.management.remote.rmi.RMIConnectionImpl.createMBean(RMIConnecti
onImpl.java:220)
at javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown S
ource)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:479)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:475)
at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:5
9)
at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicSer
verRef.java:1016)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
what could be the cause of the exception? Any inputs/reference in this reagard would be helpful.
A sample client which creates the same on weblogic 10 server would be a great help.
Thanks in Advance,Preethi Ghalke wrote:
Hi,
I'm trying to create a JDBC resource on Weblogic V 10 Admin server from a remote java client using MBeans. At the client side the following exception is thrown:
Exception in thread "main" weblogic.management.NoAccessRuntimeException: [JMX:14
9520]An attempt was made to Register an MBean with ObjectName com.bea:Location=w
l_server,Name=Test-examples-demo,Type=JDBCSystemResource ObjectName in com.bea d
omain.Hi. There's probably nothing wrong with your code,
but the client probably doesn't have the WebLogic
permissions to do the request. Do check our security
documentation or ask official support.
Joe
at weblogic.management.mbeanservers.internal.SecurityInterceptor.checkFo
rBEADomain(SecurityInterceptor.java:1263)
at weblogic.management.mbeanservers.internal.SecurityInterceptor.createM
Bean(SecurityInterceptor.java:148)
at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterce
ptor$1.run(AuthenticatedSubjectInterceptor.java:62)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterce
ptor.createMBean(AuthenticatedSubjectInterceptor.java:60)
at weblogic.management.jmx.mbeanserver.WLSMBeanServer.createMBean(WLSMBe
anServer.java:157)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnecti
onImpl.java:1363)
at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectio
nImpl.java:81)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run
(RMIConnectionImpl.java:1245)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(R
MIConnectionImpl.java:1348)
at javax.management.remote.rmi.RMIConnectionImpl.createMBean(RMIConnecti
onImpl.java:220)
at javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown S
ource)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:479)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:475)
at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:5
9)
at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicSer
verRef.java:1016)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
what could be the cause of the exception? Any inputs/reference in this reagard would be helpful.
A sample client which creates the same on weblogic 10 server would be a great help.
Thanks in Advance, -
Sybase - JDBC Persistent Store
Hi
I'm trying to setup Glassfish JMS to utilise a JDBC store (using Sybase)
I have set the required parameters in config.properties for the imqBroker instance. (including creating the Sybase DDL)
When I invoke imqdbmgr create tbl - all tables and indexes are created - but the process exits with an error. No details are displayed (even when using the -debug option) as to what the reason for failure is.
[11/Sep/2008:12:07:52 BST] Using plugged-in persistent store:
version=410
brokerid=imqBroker
database connection url=jdbc:sybase:Tds:localhost:5000/openmq_store
database user=jms_user
[11/Sep/2008:12:07:52 BST] Creating database table MQVER41SimqBroker ...
[11/Sep/2008:12:07:52 BST] Creating database table MQBKR41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQSES41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQPROP41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQCREC41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQCON41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQCONSTATE41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table index MQCONSTATE41SimqBrokerIDX1 ...
[11/Sep/2008:12:07:53 BST] Creating database table MQDST41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table index MQDST41SimqBrokerIDX1 ...
[11/Sep/2008:12:07:53 BST] Creating database table MQMSG41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table index MQMSG41SimqBrokerIDX1 ...
[11/Sep/2008:12:07:53 BST] Creating database table MQTXN41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table index MQTXN41SimqBrokerIDX1 ...
[11/Sep/2008:12:07:53 BST] ERROR [B3073]: Failed to create database tables - jdbc:sybase:Tds:localhost:5000/openmq_store
com.sun.messaging.jmq.jmsserver.util.BrokerException: [B3073]: Failed to create
database tables - jdbc:sybase:Tds:localhost:5000/openmq_store
at com.sun.messaging.jmq.jmsserver.persist.jdbc.DBTool.doCreate(DBTool.j
ava:200)
at com.sun.messaging.jmq.jmsserver.persist.jdbc.DBTool.doCommand(DBTool.
java:1700)
at com.sun.messaging.jmq.jmsserver.persist.jdbc.DBTool.main(DBTool.java:
1749)
Any ideas on how I can troubleshoot further?
Thanks
Edited by: chivz on Sep 11, 2008 4:12 AMAre there any errors in Sybase log ? From the error looks like it's failing while creating txn table which I think is using blobs.
Tom -
Hi,
We have recently upgraded our weblogic server from 6.0 to 6.1 sp5 on our testing
environment.
Our application runs fine for a few hours until our sybase db shuts down for some
reason. Thus rendering all connections to the db to fail.
Anyone know if the current JDBC driver has any comptiability issues with weblogic
6.1 sp5. Current version is "jConnect (TM) for JDBC(TM)/5.2(Build 21136)/P/EBF9747/JDK12/"
Our application connects to the db via a connection pool.
Here's the current settings for the connection pool:
<JDBCConnectionPool CapacityIncrement="10"
DriverName="com.sybase.jdbc2.jdbc.SybDriver" InitialCapacity="1"
MaxCapacity="200" Name="biaSybaseConnectionPool"
Properties="user=XXXXX;password=XXXXX" RefreshMinutes="0"
ShrinkPeriodMinutes="10" ShrinkingEnabled="true" Targets="as1"
TestConnectionsOnRelease="true" TestConnectionsOnReserve="true"
TestTableName="systypes" URL="jdbc:sybase:Tds:x.x.x.x:xxxx"/>
Here's some error log from weblgoic:
java.sql.SQLException: weblogic.common.ConnectDeadException: failed to make new
pool connection: java.sql.SQLException: JZ00L: Login failed. Examine the SQLWarnings
chained to this exception for the reason(s).
weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: JZ00L: Login failed. Examine the SQLWarnings chained to
this exception for the reason(s).
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(ErrorMessage.java:480)
at com.sybase.jdbc2.tds.Tds.processLoginAckToken(Tds.java:2938)
at com.sybase.jdbc2.tds.Tds.doLogin(Tds.java:419)
at com.sybase.jdbc2.tds.Tds.login(Tds.java:341)
Thanks for your help
Regards,
RaymondR Fung wrote:
Hi,
We have recently upgraded our weblogic server from 6.0 to 6.1 sp5 on our testing
environment.
Our application runs fine for a few hours until our sybase db shuts down for some
reason. Thus rendering all connections to the db to fail.
Anyone know if the current JDBC driver has any comptiability issues with weblogic
6.1 sp5. Current version is "jConnect (TM) for JDBC(TM)/5.2(Build 21136)/P/EBF9747/JDK12/"
Our application connects to the db via a connection pool.
Here's the current settings for the connection pool:
<JDBCConnectionPool CapacityIncrement="10"
DriverName="com.sybase.jdbc2.jdbc.SybDriver" InitialCapacity="1"
MaxCapacity="200" Name="biaSybaseConnectionPool"
Properties="user=XXXXX;password=XXXXX" RefreshMinutes="0"
ShrinkPeriodMinutes="10" ShrinkingEnabled="true" Targets="as1"
TestConnectionsOnRelease="true" TestConnectionsOnReserve="true"
TestTableName="systypes" URL="jdbc:sybase:Tds:x.x.x.x:xxxx"/>Hi. A few things: I would set the initial capacity = max capacity = 50 or less.
I would set TestConnectionsOnRelease="false".
See below for more....
Here's some error log from weblgoic:
java.sql.SQLException: weblogic.common.ConnectDeadException: failed to make new
pool connection: java.sql.SQLException: JZ00L: Login failed. Examine the SQLWarnings
chained to this exception for the reason(s).
*******************************************I would expect to see this sort of exception in the logs during the time the DBMS was
down. Are you saying that the pool never recovers after the DBMS comes back up?
Lastly, I recommend that you download Sybase's latest appropriate driver and get it ahead
of weblogic stuff in the classpath the statup script builds for the server.
Joe
>
weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: JZ00L: Login failed. Examine the SQLWarnings chained to
this exception for the reason(s).
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(ErrorMessage.java:480)
at com.sybase.jdbc2.tds.Tds.processLoginAckToken(Tds.java:2938)
at com.sybase.jdbc2.tds.Tds.doLogin(Tds.java:419)
at com.sybase.jdbc2.tds.Tds.login(Tds.java:341)
Thanks for your help
Regards,
Raymond -
Hello,
When I am using a java main and I try to use a connection pool with jconnect 6 it failed , it do not failed using the weblogic one. Why ? How can I get it worked?
Thank you !
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:812)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:797)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.rmi.utils.io.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:237)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:925)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:120)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:117)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
at com.genesys.util.db.GenUtilSPU.getConnectionFromDataSource(GenUtilSPU.java:480)
at com.genesys.util.db.GenUtilSPU.getMapListFromStoredProcedureCall(GenUtilSPU.java:231)
at com.genesys.subscriber.rtm.RTMEventListener.getRTMBridgeInfo(RTMEventListener.java:247)
at com.genesys.subscriber.rtm.RTMEventListener.onEvent(RTMEventListener.java:109)
at com.genesys.subscriber.rtm.RTMEventListener.main(RTMEventListener.java:217)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 58
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub.ensureInitialized(Unknown Source)
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub.<init>(Unknown Source)
... 33 more
--------------- nested within: ------------------
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Failed to generate class for weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub ] - with nested exception:
[java.lang.reflect.InvocationTargetException - with target exception:
[java.lang.ArrayIndexOutOfBoundsException: 58]]
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:814)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:797)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.rmi.utils.io.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:237)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:925)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:120)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:117)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
at com.genesys.util.db.GenUtilSPU.getConnectionFromDataSource(GenUtilSPU.java:480)
at com.genesys.util.db.GenUtilSPU.getMapListFromStoredProcedureCall(GenUtilSPU.java:231)
at com.genesys.subscriber.rtm.RTMEventListener.getRTMBridgeInfo(RTMEventListener.java:247)
at com.genesys.subscriber.rtm.RTMEventListener.onEvent(RTMEventListener.java:109)
at com.genesys.subscriber.rtm.RTMEventListener.main(RTMEventListener.java:217)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:812)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:797)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.rmi.utils.io.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:237)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:925)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:120)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:117)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
at com.genesys.util.db.GenUtilSPU.getConnectionFromDataSource(GenUtilSPU.java:480)
at com.genesys.util.db.GenUtilSPU.getMapListFromStoredProcedureCall(GenUtilSPU.java:231)
at com.genesys.subscriber.rtm.RTMEventListener.getRTMBridgeInfo(RTMEventListener.java:247)
at com.genesys.subscriber.rtm.RTMEventListener.onEvent(RTMEventListener.java:109)
at com.genesys.subscriber.rtm.RTMEventListener.main(RTMEventListener.java:217)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 58
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub.ensureInitialized(Unknown Source)
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub.<init>(Unknown Source)
... 33 more
--------------- nested within: ------------------
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Failed to generate class for weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub ] - with nested exception:
[java.lang.reflect.InvocationTargetException - with target exception:
[java.lang.ArrayIndexOutOfBoundsException: 58]]
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:814)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:797)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.rmi.utils.io.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:237)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:925)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:120)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:117)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
at com.genesys.util.db.GenUtilSPU.getConnectionFromDataSource(GenUtilSPU.java:480)
at com.genesys.util.db.GenUtilSPU.getMapListFromStoredProcedureCall(GenUtilSPU.java:231)
at com.genesys.subscriber.rtm.RTMEventListener.getRTMBridgeInfo(RTMEventListener.java:247)
at com.genesys.subscriber.rtm.RTMEventListener.onEvent(RTMEventListener.java:109)
at com.genesys.subscriber.rtm.RTMEventListener.main(RTMEventListener.java:217)
Exception in thread "main"skj sssssss wrote:
Hello,
When I am using a java main and I try to use a connection pool with jconnect 6 it failed , it do not failed using the weblogic one. Why ? How can I get it worked?
Thank you !
Hi. There is no SQLExeption below, so it's not a JDBC
problem as such. I suspect that you have a different
version of the sybase driver in your client classpath
than in in the server classpath. You should edit the
script you use to start the WebLogic server, by adding
the sybase driver you want to use to the classpath
for the server. Add it ahead of weblogic stuff.
Otherwise we will use the jConnect driver we ship.
Joe
>
>
>
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:812)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:797)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.rmi.utils.io.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:237)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:925)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:120)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:117)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
at com.genesys.util.db.GenUtilSPU.getConnectionFromDataSource(GenUtilSPU.java:480)
at com.genesys.util.db.GenUtilSPU.getMapListFromStoredProcedureCall(GenUtilSPU.java:231)
at com.genesys.subscriber.rtm.RTMEventListener.getRTMBridgeInfo(RTMEventListener.java:247)
at com.genesys.subscriber.rtm.RTMEventListener.onEvent(RTMEventListener.java:109)
at com.genesys.subscriber.rtm.RTMEventListener.main(RTMEventListener.java:217)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 58
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub.ensureInitialized(Unknown Source)
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub.<init>(Unknown Source)
... 33 more
--------------- nested within: ------------------
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Failed to generate class for weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub ] - with nested exception:
[java.lang.reflect.InvocationTargetException - with target exception:
[java.lang.ArrayIndexOutOfBoundsException: 58]]
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:814)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:797)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.rmi.utils.io.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:237)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:925)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:120)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:117)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
at com.genesys.util.db.GenUtilSPU.getConnectionFromDataSource(GenUtilSPU.java:480)
at com.genesys.util.db.GenUtilSPU.getMapListFromStoredProcedureCall(GenUtilSPU.java:231)
at com.genesys.subscriber.rtm.RTMEventListener.getRTMBridgeInfo(RTMEventListener.java:247)
at com.genesys.subscriber.rtm.RTMEventListener.onEvent(RTMEventListener.java:109)
at com.genesys.subscriber.rtm.RTMEventListener.main(RTMEventListener.java:217)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:812)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:797)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.rmi.utils.io.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:237)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:925)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:120)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:117)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
at com.genesys.util.db.GenUtilSPU.getConnectionFromDataSource(GenUtilSPU.java:480)
at com.genesys.util.db.GenUtilSPU.getMapListFromStoredProcedureCall(GenUtilSPU.java:231)
at com.genesys.subscriber.rtm.RTMEventListener.getRTMBridgeInfo(RTMEventListener.java:247)
at com.genesys.subscriber.rtm.RTMEventListener.onEvent(RTMEventListener.java:109)
at com.genesys.subscriber.rtm.RTMEventListener.main(RTMEventListener.java:217)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 58
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub.ensureInitialized(Unknown Source)
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub.<init>(Unknown Source)
... 33 more
--------------- nested within: ------------------
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Failed to generate class for weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_sybase_jdbc3_jdbc_SybConnection_813_WLStub ] - with nested exception:
[java.lang.reflect.InvocationTargetException - with target exception:
[java.lang.ArrayIndexOutOfBoundsException: 58]]
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:814)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:797)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.rmi.utils.io.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:237)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:925)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:120)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:117)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
at com.genesys.util.db.GenUtilSPU.getConnectionFromDataSource(GenUtilSPU.java:480)
at com.genesys.util.db.GenUtilSPU.getMapListFromStoredProcedureCall(GenUtilSPU.java:231)
at com.genesys.subscriber.rtm.RTMEventListener.getRTMBridgeInfo(RTMEventListener.java:247)
at com.genesys.subscriber.rtm.RTMEventListener.onEvent(RTMEventListener.java:109)
at com.genesys.subscriber.rtm.RTMEventListener.main(RTMEventListener.java:217)
Exception in thread "main" -
Stuck Thread attribute on WLS8.1 sp2
There is long process that requires a DB connection to be open for 2-3 hours. But currently we have the Stuck Thread Time Out set to '7200' seconds. Will Weblogic kill a thread if that thread is designated as Stuck??? (the backend is a Sybase server we had no issue with the DB at the point)
Given below is an excerpt from the server.log file
<Sep 22, 2004 5:43:27 PM EDT> <Warning> <WebLogicServer> <BEA-000337> <ExecuteTh
read: '22' for queue: 'weblogic.kernel.Default' has been busy for "8,290" second
s working on the request "connection15.session24", which is more than the config
ured time (StuckThreadMaxTime) of "7,200" seconds.>
<Sep 22, 2004 7:43:27 PM EDT> <Warning> <WebLogicServer> <BEA-000337> <ExecuteTh
read: '22' for queue: 'weblogic.kernel.Default' has been busy for "15,490" second
s working on the request "connection15.session24", which is more than the config
ured time (StuckThreadMaxTime) of "7,200" seconds.>
####<Sep 22, 2004 9:13:19 PM EDT> <Error> <JDBC> <HOSTNAME> <SERVERNAME
<ExecuteThread: '22' for queue: 'weblogic.kernel.Default'> <<anonymous>> <> <BEA-001112> <Test "SELECT COUNT(*) FROM sysobjects" set up for pool "CRS_TDS_CONN
_POOL" failed with exception: "java.sql.SQLException: JZ0C0: Connection is alrea
dy closed.".>Arvind Varma wrote:
There is long process that requires a DB connection to be open for 2-3 hours.> But currently we have the Stuck Thread Time Out set to '7200' seconds. Will
> Weblogic kill a thread if that thread is designated as Stuck??? (the backend
> is a Sybase server we had no issue with the DB at the point)
No, it's just a warning, I believe. There should be no problem with
jdbc connections staying open indefinitely, unless there's a firewall
that kills sockets after a time, or the DBMS kills idle connections
after a time. From the log below, it sounds like the pool just tested
a connection before giving it to your app, and found it was dead, and
presumably replaced it and gave you a new one. Was there any appplication
error?
Joe
PS: show me your pool definition. Your test table should not be sysobjects.
That is a huge system table. That's like testing your phone by calling 411
and asking the operator to count all the listings in the phone book for you! ;)
Joe
Given below is an excerpt from the server.log file
<Sep 22, 2004 5:43:27 PM EDT> <Warning> <WebLogicServer> <BEA-000337> <ExecuteTh
read: '22' for queue: 'weblogic.kernel.Default' has been busy for "8,290" second
s working on the request "connection15.session24", which is more than the config
ured time (StuckThreadMaxTime) of "7,200" seconds.>
<Sep 22, 2004 7:43:27 PM EDT> <Warning> <WebLogicServer> <BEA-000337> <ExecuteTh
read: '22' for queue: 'weblogic.kernel.Default' has been busy for "15,490" second
s working on the request "connection15.session24", which is more than the config
ured time (StuckThreadMaxTime) of "7,200" seconds.>
####<Sep 22, 2004 9:13:19 PM EDT> <Error> <JDBC> <HOSTNAME> <SERVERNAME
<ExecuteThread: '22' for queue: 'weblogic.kernel.Default'> <<anonymous>> <> <BEA-001112> <Test "SELECT COUNT(*) FROM sysobjects" set up for pool "CRS_TDS_CONN
_POOL" failed with exception: "java.sql.SQLException: JZ0C0: Connection is alrea
dy closed.".> -
JDBC Connections in WLS 7.0.SP2
Hello All,
We are using both entity beans and JDBC calls inside our Stateless Session Beans.
Our tests show that
1. we need more database connections (in pool) than number of concurrent users
(say twice)
2. getting and releasing connections become a bottleneck as we need to do this
for every method invocation for making JDBC calls
3. Methods using only entity beans run faster
Can somebody explain this behaviour. Thanks in advance for the time and help.
Best Regards
MSHi Manoj,
"MS" <[email protected]> wrote in message news:3eeac5af$[email protected]..
Hello All,
We are using both entity beans and JDBC calls inside our Stateless SessionBeans.
Our tests show that
1. we need more database connections (in pool) than number of concurrentusers
(say twice)It all depends how transaction processing is arragend in your application.
In the worst case you both get connections from the pool using the pool
driver
and use TxDatasource for entity beans. Than you will have number of needed
pool connections doubled. The same story is when you actively use
RequiresNew transaction attribute for SLSB.
Normally when you use the Required transaction attibute for
EJBs and TxDatasource to get connections, the max number of
consumed connections will be around a number of the execution
threads.
2. getting and releasing connections become a bottleneck as we need to dothis
for every method invocation for making JDBC callsCan you provide more information on the approach used to
indentify fact of bottleneck? Also, could you please post the connection
pool and datasource definitions? That will help to identify if the pool
is possible misconfigured.
3. Methods using only entity beans run fasterIt's hard to tell why it happens to you withouth knowing more about the
application. But here are a couple of suggestions: first, weblogic makes
extensive use of caching when database is accessed via EJBs. second,
those direct JDBC calls are not written well ot use inappropriate
transaction
model.
Can somebody explain this behaviour. Thanks in advance for the time andhelp.
Let me know if you have more questions.
Regards,
Slava Imeshev
Maybe you are looking for
-
Scheduling periodic background jobs with changing parameters
Greetings, I am wondering if anyone knows a way to do the following: Say I have a report that I want to schedule in the background to run at the end of every month. Is there a way to set up the jobs to use different parameters (dates, etc.) each mon
-
I am running win 7 pro on X1 carbon. My device manager window is blank. No devices displayed. I ensured plug and play is set to automatic and all services are enabled. I also looked at my registery and ensured the proper permissions were set. I also
-
I need an ADF tree for a hierarchical folder structure with objects of different types at the leaf level. I have a self referential table for the folder structure and tables for other leaf level objects with foreign key to folder. I was thinking of p
-
Youtube videos load slow in FF & Chrome, but fine in IE.
So my problem is that Youtube videos load in a very choppy way in Firefox and Chrome, first 15 seconds load, then there's a long pause, before next 15 or so seconds are loaded. However, they load smoothly on Internet Explorer. I've reinstalled browse
-
Why App refused to load after entering correct password?
I have just renewed password to > 8 characters with mixture of upper lower cases letter and numericals but app refused to load with prompt says unknown error. What is wrong ?