Hello.
My suspicion is that Orion's DB-Mapping (CMP) doesn't work well when it
comes to tables that have OID fields.
My experiments suggest that whenever a table has to be generated that has
OID-fields, the following exception will be thrown just after having
executed the ejbCreate() Method of the EJB in question:
com.evermind.server.rmi.OrionRemoteException: Transaction was rolled
back: Database error: InputStream as parameter not supported
at java.lang.Throwable.<init>(Throwable.java:96)
at java.lang.Exception.<init>(Exception.java:44)
at java.io.IOException.<init>(IOException.java:49)
at java.rmi.RemoteException.<init>(RemoteException.java:58)
at com.evermind.server.rmi.OrionRemoteException.<init>(JAX)
at
ChangeManagerHome_EntityHomeWrapper7.create(ChangeManagerHome_EntityHome
Wrapper7.java:542)
at
ejb.ProjectSessionEJB.getChangeManager(ProjectSessionEJB.java:95)
at ejb.ProjectSessionEJB.ejbCreate(ProjectSessionEJB.java:111)
at
ProjectSessionHome_StatefulSessionHomeWrapper2.create(ProjectSessionHome
_StatefulSessionHomeWrapper2.java:36)
at java.lang.reflect.Method.invoke(Native Method)
at com.evermind.server.rmi.bc.do(JAX)
at com.evermind.util.f.run(JAX)
Nested exception is:
InputStream as parameter not supported
at java.lang.Throwable.<init>(Throwable.java:84)
at java.lang.Exception.<init>(Exception.java:35)
at java.sql.SQLException.<init>(SQLException.java:100)
at
org.postgresql.util.PSQLException.<init>(PSQLException.java:22)
at
org.postgresql.jdbc2.PreparedStatement.setBinaryStream(PreparedStatement
.java:417)
at com.evermind.sql.ao.setBinaryStream(JAX)
at com.evermind.sql.ao.setBinaryStream(JAX)
at com.evermind.server.ejb.EntityEJBObject.storeObject(JAX)
at
ChangeManagerHome_EntityHomeWrapper7.create(ChangeManagerHome_EntityHome
Wrapper7.java:432)
at
ejb.ProjectSessionEJB.getChangeManager(ProjectSessionEJB.java:95)
at ejb.ProjectSessionEJB.ejbCreate(ProjectSessionEJB.java:111)
at
ProjectSessionHome_StatefulSessionHomeWrapper2.create(ProjectSessionHome
_StatefulSessionHomeWrapper2.java:36)
at java.lang.reflect.Method.invoke(Native Method)
at com.evermind.server.rmi.bc.do(JAX)
at com.evermind.util.f.run(JAX)
IMHO, the JDBC driver of PostgreSQL (jdbc7.0-1.2.jar) is capable of
handling OIDs correctly, because I successfully tried the same setup with
jBoss/PostgreSQL.
So what may I do? Do you know a way to get around this OID problem?
Many thanks in advance
Armin Michel