Acceder con CMP a tabla de otro usuario

Estoy trabajando con JDeveloper e intento crear un CMP a partir de una tabla existente en mi base de datos.
El usuario del data-source no es propietario de la tabla, así que cuando ejecuto el wizard de JDeveloper para crear el CMP, la tabla no es visible.
Independientemente del JDeveloper (si sabes como hacerlo con él mejor que mejor), ¿sabrías cómo sería posible acceder a la tabla con el usuario?

1 respuesta

Respuesta
1
Tu problema está más bien en la BBDD que en el CMP que estás haciendo. Para que puedas acceder desde tu usuario a una tabla que NO eres propietario, el administrador de BBDD debería darte permisos sobre esa tabla (objeto) para que puedas leer o escribir o amabas cosas. De todas formas, si trabajas con Oracle, puede probar esto:
USER. tabla_1. Con esta notación, puedes acceder a "tabla_1" del usuario "USER". Pero ya te digo que para evitar posibles dolores de cabeza el admin de BBDD debería darte permisos...
El problema es que tengo permisos ya.
En el tag <entity-deployment> he puesto el nombre de la tabla en el parámetro "table" y al encender el servidor no da ningún problema. Cuando intento ejecutar la aplicació me da Exception de tabla no encontrada.
Si en vez del nombre de la tabla pongo: "table=USER.NOMBRE_TABLA", al encender el servidor j2ee dice que al no haber encontrado la tabla "USER_NOMBRE_TABLA" (cambiando el . por un _ !!!) la intenta crear, cosa que no puede hacer pq el usuario no tiene permisos de creación (aunque si de acceso y updates).
Si realmente esto no es posible de hacer ya intentaría conectarme con el usuario propietario, pero no seria aconsejable
¿Estás seguro que el usuario con el que te conectas (vía datasource) a la BBDD es el que tiene permisos sobre esa tabla? Es muy extraño... Puedes probar de crear una vista sobre esa tabla a ver que pasa...
Si, lo acabo de probar con SQLPlus y puede acceder a los datos.
Es posible que sea un error de código. Lo he estado comprobando con otro CMP de prueba (el cual se conectaba con un usuario propietario-BBDD y funcionaba) y no encuentro ninguna diferencia.
Si sabes de alguien más que se haya encontrado con el mismo problema házmelo saber. Yo diría que la solución tiene que estar en el mapeo que hace el CMP con la tabla en el DeploymentDescriptor correspondiente, pero no hay manera de encontrarlo...
¿Tienes aplicada algún tipo de access policy (seguridad Java) a tu datasource?
No conozco a nadie que le haya pasado algo parecido... Y yo nunca he tenido que hacer lago parecido... en todo caso he accedido pero siempre con el usuario propietario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas