aspose file tools*
The moose likes EJB and other Java EE Technologies and the fly likes Problem working with Entity Bean 2.0 with Oracle database Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Problem working with Entity Bean 2.0 with Oracle database" Watch "Problem working with Entity Bean 2.0 with Oracle database" New topic
Author

Problem working with Entity Bean 2.0 with Oracle database

JavaProb
Greenhorn

Joined: Sep 30, 2003
Posts: 1
Hi,
I am trying to work with Entity beans 2.0 deployed in "Borland Application server"
I have Borland Enterprise 5.2.1 trial version on my machine.
I am facing some problem since the last few days and not able to fix that up.
I am actually trying to set the data source for the Entity bean.
I added a new entry in default-resources.dar file as follows:
=> Using ORACLE datasource:
------------------------------
serial://datasources/EmpOraDatasource
Datasource Type: Oracle
Class name racle.jdbc.pool.OracleConnectionPoolDataSource
driverType: oci8
databaseName: TrialSvc
serverName:ABC
portNumber:1521
user:javatest
password:javatest
networkProtocol:tcp
connectionType irect
dialect racle
------------------------------

I have installed Oracle8.1.7 Client on my machine and I have created a new service by name TrialSvc and the entry in the tnsnames.ora is as follows:
------------------------------
TRIALSVC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ABC)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ABCSMK)
)
)
------------------------------

I have the following entries in path as follows:
------------------------------
Path=.;E:\oracle\ora81\bin;E:\oracle\ora81\jdbc\lib\classes12.zip;C:\Program Files\Oracle\jre\1.1.7\bin;E:\JDataStore6\bin;E:\jdk1.3\bin\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;e:\BES\bin;E:\Ant\apache-ant-1.5.4\bin;
C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py;.pyc;.pyo;.pyw;.pys;.dll;.DLL
Following are the entries in the classpath:
classpath=.;E:\oracle\ora81\jdbc\lib\classes12.zip;E:\oracle\ora81\bin;E:\JDataStore6\lib\jdsserver.jar;E:\JDataStore6\lib\jds.jar;E:\BES\lib\tomcat\common\servlet.jar;E:\jdk1.3\bin;E:\jdk1.3\jre\lib\;E:\BES\lib\axis\axis.jar;E:\BES\lib\axis\axis-ant.jar;E:\BES\lib\axis\axis-bes.jar;E:\BES\lib\axis\commons-discovery.jar;E:\BES\lib\axis\commons-logging.jar;E:\BES\lib\axis\jaxrpc.jar;E:\BES\lib\axis\saaj.jar;E:\BES\lib\axis\wsdl4j.jar;E:\BES\lib\axis\log4j-1.2.8;E:\Ant\apache-ant-1.5.4\bin;


Note: I have added classes12.zip from the oracle directory i.e. from E:\oracle\ora81\jdbc\lib\ directory.
------------------------------

Now I have deployed a web application in Borland Application server and I am trying to create a new entry to the database by
calling the ejbCreate method, and I get the following exception
------------------------------
Throwing System exception for the container-started transaction for method: public abstract com.borland.examples.j2ee.employee.EmpEntity com.borland.examples.j2ee.employee.EmpEntityHome.create(int,java.lang.String,java.lang.String) throws javax.ejb.CreateException
java.lang.UnsatisfiedLinkError: get_env_handle
at oracle.jdbc.oci8.OCIEnv.get_env_handle(Native Method)
at oracle.jdbc.oci8.OCIEnv.getEnvHandle(OCIEnv.java:70)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:359)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:252)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:111)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:98)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:77)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:61)
at com.inprise.visitransact.jdbc2.PooledConnectionHolder$DirectStrategy.getNewPooledConnection(PooledConnectionHolder.java:853)
at com.inprise.visitransact.jdbc2.PooledConnectionHolder.<init>(PooledConnectionHolder.java:115)
at com.inprise.visitransact.jdbc2.GenericConnectionPool.doCreateNewElement(GenericConnectionPool.java:86)
at com.inprise.visitransact.jdbc2.GenericPool.getPooledObject(GenericPool.java:289)
at com.inprise.visitransact.jdbc2.GenericConnectionPool.getPooledConnection(GenericConnectionPool.java:74)
at com.inprise.visitransact.jdbc2.InpriseDataSource.getConnection(InpriseDataSource.java:298)
at com.inprise.visitransact.jdbc2.InpriseDataSource.getConnection(InpriseDataSource.java:322)
at com.borland.ejb.pm.JdbcResourceContext.open(JdbcResourceContext.java:192)
at com.borland.ejb.pm.TxContext.findResourceContext(TxContext.java:53)
at com.borland.ejb.pm.JdbcEntityManager.initCmpFields(JdbcEntityManager.java:191)
at com.borland.ejb.pm.DataEntityManager.init(DataEntityManager.java:179)
at com.borland.ejb.pm.DataEntityManager.newEntityData(DataEntityManager.java:130)
at com.borland.examples.j2ee.employee.EmpEntityBean_PM.ejbCreate(EmpEntityBean_PM.java:42)
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 com.inprise.ejb.ConcreteMethod.invoke(ConcreteMethod.java:32)
at com.inprise.ejb.EJBContext.invoke(EJBContext.java:166)
at com.inprise.ejb.Dispatcher$EntityCreateMethod.invoke(Dispatcher.java:1618)
at com.inprise.ejb.Dispatcher.doInvoke(Dispatcher.java:1299)
at com.inprise.ejb.Dispatcher.invokeSecurityCheck(Dispatcher.java:1023)
at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:816)
at com.inprise.ejb.Dispatcher.create(Dispatcher.java:630)
at com.inprise.ejb.EntityHome.create(EntityHome.java:98)
at com.inprise.ejb.EJBHome.invoke(EJBHome.java:355)
at com.inprise.ejb.EJBHome.access$300(EJBHome.java:6)
at com.inprise.ejb.EJBHome$LocalStrategyImpl.invoke(EJBHome.java:1091)
at com.borland.examples.j2ee.employee.EmpEntityHomePOAInvokeHandler.create(EmpEntityHomePOAInvokeHandler.java:108)
at com.borland.examples.j2ee.employee.EmpEntityHomePOAInvokeHandler.create(EmpEntityHomePOAInvokeHandler.java:163)
at com.borland.examples.j2ee.employee._EmpEntityHome_Stub.create(_EmpEntityHome_Stub.java:111)
at com.borland.examples.j2ee.employee.EmployeeBean.createEntityEmployee(Unknown Source)
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 com.inprise.ejb.ConcreteMethod.invoke(ConcreteMethod.java:32)
at com.inprise.ejb.EJBContext.invoke(EJBContext.java:166)
at com.inprise.ejb.Dispatcher.doInvoke(Dispatcher.java:1301)
at com.inprise.ejb.Dispatcher.invokeSecurityCheck(Dispatcher.java:1023)
at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:816)
at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:595)
at com.inprise.ejb.EJBHome.dispatcherInvokeBeanMethod(EJBHome.java:55)
at com.inprise.ejb.EJBHome$ComponentInterfaceMethodCache.invokeDispatcherMethod(EJBHome.java:1502)
at com.inprise.ejb.EJBHome.invokeDispatcherMethod(EJBHome.java:34)
at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:416)
at com.borland.examples.j2ee.employee.EmployeePOAInvokeHandler.createEntityEmployee(EmployeePOAInvokeHandler.java:109)
at com.borland.examples.j2ee.employee.EmployeePOAInvokeHandler.createEntityEmployee(EmployeePOAInvokeHandler.java:246)
at com.borland.examples.j2ee.employee._Employee_Stub.createEntityEmployee(_Employee_Stub.java:325)
at com.borland.examples.j2ee.employee.EmployeeServlet.doPost(Unknown Source)
at com.borland.examples.j2ee.employee.EmployeeServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2489)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngine.invoke(StandardEngine.java:376)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:224)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:413)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:537)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:536)
<<<< EJB LOG <<<<
>>>> EJB LOG >>>>
javax.ejb.EJBException: java.lang.UnsatisfiedLinkError: get_env_handle
at com.inprise.ejb.EJBHome$LocalStrategyImpl.getSystemException(EJBHome.java:1258)
at com.inprise.ejb.Dispatcher.doInvoke(Dispatcher.java:1407)
at com.inprise.ejb.Dispatcher.invokeSecurityCheck(Dispatcher.java:1023)
at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:816)
at com.inprise.ejb.Dispatcher.create(Dispatcher.java:630)
at com.inprise.ejb.EntityHome.create(EntityHome.java:98)
at com.inprise.ejb.EJBHome.invoke(EJBHome.java:355)
at com.inprise.ejb.EJBHome.access$300(EJBHome.java:6)
at com.inprise.ejb.EJBHome$LocalStrategyImpl.invoke(EJBHome.java:1091)
at com.borland.examples.j2ee.employee.EmpEntityHomePOAInvokeHandler.create(EmpEntityHomePOAInvokeHandler.java:108)
at com.borland.examples.j2ee.employee.EmpEntityHomePOAInvokeHandler.create(EmpEntityHomePOAInvokeHandler.java:163)
at com.borland.examples.j2ee.employee._EmpEntityHome_Stub.create(_EmpEntityHome_Stub.java:111)
at com.borland.examples.j2ee.employee.EmployeeBean.createEntityEmployee(Unknown Source)
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 com.inprise.ejb.ConcreteMethod.invoke(ConcreteMethod.java:32)
at com.inprise.ejb.EJBContext.invoke(EJBContext.java:166)
at com.inprise.ejb.Dispatcher.doInvoke(Dispatcher.java:1301)
at com.inprise.ejb.Dispatcher.invokeSecurityCheck(Dispatcher.java:1023)
at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:816)
at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:595)
at com.inprise.ejb.EJBHome.dispatcherInvokeBeanMethod(EJBHome.java:55)
at com.inprise.ejb.EJBHome$ComponentInterfaceMethodCache.invokeDispatcherMethod(EJBHome.java:1502)
at com.inprise.ejb.EJBHome.invokeDispatcherMethod(EJBHome.java:34)
at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:416)
at com.borland.examples.j2ee.employee.EmployeePOAInvokeHandler.createEntityEmployee(EmployeePOAInvokeHandler.java:109)
at com.borland.examples.j2ee.employee.EmployeePOAInvokeHandler.createEntityEmployee(EmployeePOAInvokeHandler.java:246)
at com.borland.examples.j2ee.employee._Employee_Stub.createEntityEmployee(_Employee_Stub.java:325)
at com.borland.examples.j2ee.employee.EmployeeServlet.doPost(Unknown Source)
at com.borland.examples.j2ee.employee.EmployeeServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2489)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngine.invoke(StandardEngine.java:376)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:224)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:413)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:537)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:536)
------------------------------
Previously it was giving some other exception .. that the ocijdbc8.dll is not found in the java library path.
I added an entry to the JVM in the server.config as..
vmparam -Djava.library.path=.;E:\oracle\ora81\bin;E:\oracle\ora81\jdbc\lib\classes12.zip;
so that error vanished and then I started getting the above specified error.

Instead of Entity beans I tried to do the same work using session bean by opening a connection explicitly and inserting a record and that works fine.
Also tried with a simple java application which also works fine.. with values as follows:
String DRIVER = "oracle.jdbc.driver.OracleDriver";
Class.forName(DRIVER);
con = DriverManager.getConnection("jdbc racle ci8:@TrialSvc", "javatest", "javatest");

The only problem is while working with Entity beans..and that too setting the datasource in the Borland application server I guess.

If anybody has some clue about this problem..or have worked with Entity beans in Borland Application server then pleaseee help me out to solve this problem..
It's a bit urgent..

Thanks in advance!
Java developer.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Problem working with Entity Bean 2.0 with Oracle database