2011-07-14 21 views
5

Tengo la siguiente consulta:iReport - parametrizar el nombre del esquema?

SELECT 
    blah 
FROM 
    "PUBLIC"."MYACTIVITY" MYACTIVITY 

El problema está, el nombre de esquema es diferente para diferentes entornos. He intentado hacer "PUBLIC" un parámetro de la siguiente manera:

SELECT 
    blah 
FROM 
    "$P{schemaName}"."MYACTIVITY" MYACTIVITY 

al establecer schemeName antes de compilar el informe de los parametros, pero no importa lo que haga, o lo que el valor predeterminado se establece como, me sale el siguiente error:

Error:SQL problems:invalid schema name: ? in statement [SELECT blah FROM "?"."MYACTIVITY" MYACTIVITY

¿Cómo parametrizar correctamente el nombre de esquema para este informe?

Respuesta

3

Intente utilizar $P!{schemaName}. Tenga en cuenta el signo de exclamación. Utilizar comillas dobles en el valor:

SELECT 
    blah 
FROM 
    $P!{schemaName}."MYACTIVITY" MYACTIVITY 

Y:

Vamos schemaName = "PUBLIC" (incluya las comillas).

La sustitución $P{} proporciona un valor interpretado, mientras que $P!{} utiliza el valor literal. Puede usar $P!{} para cambiar la consulta.

+0

De hecho, encontré esto en iReport poco después de publicar esto, pero la redacción no tenía sentido, y no pude encontrar ninguna documentación cuando busqué en Google la terminología que estaba usando iReport. Siento que esto necesita más documentación o visibilidad o algo así: P. –

+0

Sí. '$ X {}' y '$ P! {}' Necesitan más luz sobre ellos. Buscar en la Web caracteres no alfanuméricos es problemático. –

+0

Espera, ¿qué es $ X {}? : P –

Cuestiones relacionadas