Not able to develop Entity Bean in VAJ using Oracle

Discussions

EJB programming & troubleshooting: Not able to develop Entity Bean in VAJ using Oracle

  1. Hi,
     
    I am using VJA 3.0 and Oracle 8.x.I have oracle client and I developed one simple Entity bean using VAJ Follows all steps , created Database schema and Mapping schema able to generate Deployment code and test client.Then I am opening this Entity bean using Group in Server Configuration.here I am phasing problem .When I am trying to start EJB server It's throwing Exception so I am not able to run EJB server rest both(Location and persistent server) Running Fine.So pls tell me what I write in the server settings for running it properly.The Exception is like this in Console.
     
     
    "The following beans are deployed in the server:
     
    (1) com.ibm.ivj.eab.sample.ws.entityejb.custBean
     
    ******************************************
     
    000.170 796 ManagedServer E Version : 3.0
    000.172 796 ManagedServer E Edition: Advanced
    000.182 796 ManagedServer E Build date: Sat Sep 25 00:00:00 GMT+05:30 1999
    000.183 796 ManagedServer E Build number: d28_990925d
    031.262 757d DrAdminServer A DrAdmin available on port 4,410
    054.517 796 DBPortability F Unrecognized database: "Oracle8"
    java.lang.Throwable
     java.lang.Throwable()
     void com.ibm.ejs.ras.TraceLogger.fatalEvent(com.ibm.ejs.ras.TraceEvent)
     void com.ibm.ejs.ras.Tr.fireTraceEvent(com.ibm.ejs.ras.TraceEvent)
     void com.ibm.ejs.ras.Tr.fatal(com.ibm.ejs.ras.TraceComponent, java.lang.String, java.lang.Object)
     int com.ibm.ejs.dbm.DBPortability.getDBCode(java.sql.DatabaseMetaData)
     void com.ibm.ejs.persistence.EJSJDBCPersister.initialize(com.ibm.db2.jdbc.app.stdext.javax.sql.DataSource, java.lang.String, java.lang.String, java.lang.String)
     com.ibm.ejs.persistence.EJSJDBCPersister com.ibm.ejs.persistence.EJSJDBCPersister.create(com.ibm.ejs.util.PortableDeploymentDescriptor, com.ibm.db2.jdbc.app.stdext.javax.sql.DataSource, java.lang.String, java.lang.String, java.lang.ClassLoader, java.lang.String)
     javax.ejb.EJBHome com.ibm.ejs.sm.active.ActiveEJBContainer.startBean(java.lang.String, com.ibm.ejs.util.PortableDeploymentDescriptor, java.lang.String, boolean, java.lang.String, com.ibm.ejs.sm.active.ActiveEnterpriseBean, java.lang.String)
     void com.ibm.ejs.sm.active.ActiveEnterpriseBean.startAction(boolean, com.ibm.ejs.sm.util.ObjectCollection)
     void com.ibm.ejs.sm.active.ActiveObject.startObject(long, boolean)
     void com.ibm.ejs.sm.active.ActiveObject.start(int, com.ibm.ejs.sm.active.ActiveObjectConfig)
     void com.ibm.ejs.sm.active.ActiveObject.operateOnContainedObjects(com.ibm.ejs.sm.active.ActiveObjectConfig, java.lang.String, com.ibm.ejs.sm.util.ObjectCollection)
     void com.ibm.ejs.sm.active.ActiveEJBContainer.startAction(boolean, com.ibm.ejs.sm.util.ObjectCollection)
     void com.ibm.ejs.sm.active.ActiveObject.startObject(long, boolean)
     void com.ibm.ejs.sm.active.ActiveObject.start(int, com.ibm.ejs.sm.active.ActiveObjectConfig)
     void com.ibm.ejs.sm.active.ActiveObject.operateOnContainedObjects(com.ibm.ejs.sm.active.ActiveObjectConfig, java.lang.String, com.ibm.ejs.sm.util.ObjectCollection)
     void com.ibm.ejs.sm.active.ActiveEJBServer.startAction(boolean, com.ibm.ejs.sm.util.ObjectCollection)
     void com.ibm.ejs.sm.active.ActiveObject.startObject(long, boolean)
     void com.ibm.ejs.sm.active.ActiveObject.start(int, com.ibm.ejs.sm.active.ActiveObjectConfig)
     java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object [])
     java.lang.Object com.ibm.ejs.sm.agent.AdminAgentImpl.activeObjectInvocation(com.ibm.ejs.sm.agent.ContainmentPath, java.lang.String, com.ibm.ejs.sm.agent.ParamList)
     java.lang.Object com.ibm.ejs.sm.agent.AdminAgentImpl.invokeActiveObject(com.ibm.ejs.sm.agent.ContainmentPath, java.lang.String, com.ibm.ejs.sm.agent.ParamList)
     void com.ibm.ejs.server.EJServer.configRuntime(java.util.Properties [])
     void com.ibm.ejs.server.EJServer.start()
     void com.ibm.ivj.ejb.tools.internal.EJSServer.startEJS(java.lang.String []) "
     
    The settings of three server's Follows,
     
                    Location Service:
                                        ORB Listener Port:9000.
                    Persistent Server:
                                        DataSource: InstantDB.
                                        LSD Name: Localhost.
                                        LSD Port: 9000.
                    EJB Server:
                        data Source: jdbc:odbc:UE (this UE is DSN name and I tested it working Properly on oracle connection Testing)
                        Connection Type: sun.jdbc.odbc.JdbcOdbcDriver
                        Database user Id: sampath.(Login id and Password of Database)
                        Database PWD : sampath.
                        LSD Name: priceff14 (Name of machine where oracle reside).
                        LSD port : 9000.
     
    In Persistent Server DataSource and LSD I gave same as in Ejb server but still not working .
    pls reply as soon as possible the solution of this problem.
    if this info is less to understand the problem then feel free to Contact me .
     
    Thanks,
     
  2. Hi,

    It seems that the server is not able to create persistence pool required for Entity beans, which is the reason for most EJB server (not only WebSphere) to not work.

    Check ur documentation for how to setup EJB Test Environment in VAJ, for version which u r using. Online Help is best place to start with. Use oracle's driver appropriate for the client version that u r using.

    Also, remember to forget ODBC databases, once u enter EJB arena. They are not supported due to many limitations like lack of transaction support, limitation of rowset etc.

    Enjoy,
    Kailash
  3. Hi ,
    thnaks,
    I did the same u suggested,but still phasing problem the same kind ,I uses Kind four Driver for connection .If u did this ever then pls send me back the setting configuration of this persistence and EJB server...........
    shailesh.



  4. Are you using Oracle 8i or 8?

    I hope this isn't off base, but this worked for me...

    If 8i:
    1)Get Classes1.2.zip , or Classes111.zip and extract to a location on your local drive.

    2)Go to Window > Options > Resource and set Workspace class path to extracted zip file.

    3)Go to Properties for EJB Server
    Data Source: jdbc:oracle:thin:@[ip address]:[db_name]
    Connection Type: oracle.jdbc.driver.OracleDriver

    4)Set rest of fields accordingly (password, id, take defaults for rest.

    5)Start WTE, and start persistent name server. Take defaults.

    6)Open EJB group to server configuration.

    7)Start EJB Server

    8)When console says "open for business", start test client.

    You should be on your way after that.

    Jeff