Crear y usar modelos de informe basados en Oracle

Puede generar modelos de informe basados en una base de datos de Oracle que ejecute la versión 9.2.0.3 o posterior usando el Diseñador de modelos, el Administrador de informes o Microsoft Office SharePoint Server 2007 o SharePoint Server 2010 2007 desde el modo integrado de SharePoint.

Para generar modelos basados en bases de datos de Oracle, debe ejecutar una versión cliente de Oracle 9.2.0.3 o posterior. El directorio del cliente de Oracle debe encontrarse en la ruta de acceso del sistema y tanto el servicio Servidor de informes de Windows como el servicio web del servidor de informes deben contar con los permisos necesarios para obtener acceso a los archivos de este directorio.

Además, compruebe que:

  • La extensión de procesamiento de datos de Oracle de Reporting Services está disponible en la instalación de Reporting Services.

  • El cliente de Oracle se instala en una carpeta a la que tienen acceso el servicio Servidor de informes de Windows y el servicio web del servidor de informes.

  • El servicio Servidor de informes de Windows, el servicio web del servidor de informes y las cuentas de ejecución desatendida deben tener acceso de lectura y ejecución al directorio para la instalación del cliente de Oracle.

Cadenas de conexión

Al generar un modelo de informe basado en una base de datos de Oracle, la cadena de conexión aparece de un modo similar al siguiente:

Data Source="Oracle9";Unicode="True"

donde "Oracle9" representa el nombre lógico del servidor de Oracle.

Nota

Al especificar una cadena de conexión a la base de datos de Oracle, ServerName debe coincidir con los nombres definidos en el archivo de configuración tnsnames.ora.

Para obtener más información acerca de cómo conectarse a un origen de datos de Oracle, vea Tipo de conexión de Oracle (SSRS).

Nota importanteImportante

Al generar la vista del origen de datos para el modelo de Oracle, asegúrese de hacer clic en el botón Avanzadas de la página Seleccionar un origen de datos del Asistente para vistas del origen de datos y, en el cuadro de diálogo Opciones avanzadas de la vista del origen de datos, seleccione el nombre del esquema para filtrar los objetos de base de datos. A continuación, seleccione los objetos de base de datos que desee agregar al modelo.

Limitaciones funcionales

Debido al comportamiento subyacente de la base de datos de Oracle, hay algunas diferencias de comportamiento en el traductor de consultas SMDL (Lenguaje de definición de modelos semánticos) si se usa con una base de datos de Oracle. Estos comportamientos pueden ser diferencias secundarias en funcionalidad y modificadores de configuración necesarios para controlar las soluciones a los errores y los límites de diseño en la base de datos de destino. A continuación, se ofrece una descripción de estas diferencias.

Tipos de datos

SMDL admite solamente los siguientes tipos de datos de Oracle.

Tipo SMDL

Tipo Oracle

String

CHAR, NCHAR, VARCHAR2, NVARCHAR2, LONG, CLOB, NCLOB

Decimal o Integer

NUMBER

Boolean

NUMBER

Si una columna de Oracle se marca como Boolean en el archivo de vista del origen de datos (DSV), la columna subyacente debe ser NUMBER y contener solamente los valores 0, 1 o NULL.

Date

DATE, TIMESTAMP

Binary

RAW, LONGRAW, BLOB

SMDL no admite ningún tipo de datos no indicado anteriormente, entre los que se incluyen los siguientes:

  • BINARY_FLOAT

  • BINARY_DOUBLE

  • TIMESTAMP WITH TIME ZONE

  • TIMESTAMP WITH LOCAL TIME ZONE

  • INTERVAL YEAR TO MONTH

  • INTERVAL DAY TO SECOND

  • ROWID

  • UROWID

  • BFILE

Durante la generación automática de un modelo de informe con el Administrador de informes o con un producto de SharePoint, las columnas que contienen tipos de datos no compatibles se excluyen del modelo. Además, si un tipo de datos no compatible forma parte de una clave principal, no se genera la entidad completa.

Al crear un modelo de informe con el Diseñador de modelos, se agrega todo al modelo de informe; por consiguiente, debe filtrar manualmente todos los tipos de datos no compatibles indicados anteriormente al refinar el modelo.

Funciones

El comportamiento de algunas funciones puede depender de la base de datos subyacente. Si especifica un valor inferior a cero para el argumento length de la función Left, Right o Substring, el comportamiento se queda sin definir en SMQL.

Modificadores de configuración

Debido al origen de datos subyacente, hay muchos modificadores de configuración disponibles para modificar el comportamiento del traductor de consultas según los detalles del origen de datos y el entorno. Los siguientes modificadores se definen en el archivo RSReportServer.config, instalado en la carpeta <SysDrive>:\Archivos de programa\Microsoft SQL Server\MSSQL.X\Reporting Services\ReportServer\ de manera predeterminada.

Nombre

Tipo

Definición predeterminada

Descripción

Disable

NO_MERGE

InLeftOuters

Boolean

False

El modificador desactiva la sugerencia del optimizador NO_MERGE generada para las consultas de Oracle.

Debido a una serie de problemas técnicos en el optimizador de consultas de Oracle, algunas clases de consultas que implican combinaciones externas izquierdas generan un error o devuelven resultados incorrectos. Por lo tanto, el traductor de consultas de Oracle de Reporting Services usa la sugerencia del optimizador NO_MERGE en algunas combinaciones externas izquierdas. Aunque esto tiene como resultado una ejecución correcta de la consulta, el rendimiento puede verse afectado negativamente. Si obtiene una actualización de software de Oracle que solucione este problema, este modificador se puede establecer en True para deshabilitar la solución NO_MERGE.

EnableUnistr

Boolean

False

El modificador exige el uso explícito de la función UNISTR para representar literales de Unicode en las consultas de Oracle.

Por regla general, si la configuración regional de la base de datos coincide con la de las constantes de cadena incluidas en la consulta, las constantes de cadena Unicode se pueden generar como cadenas normales en la consulta. Al usar constantes literales que no existen en la página de códigos definida por NLS_CharacterSet en la base de datos de Oracle, Oracle requiere el uso de la función UNISTR explícita para representar literales de Unicode. Al establecer este modificador en True, todas las constantes de cadena Unicode de las consultas se codifican con la función de Oracle UNISTR.  

DisableTSTruncation

Truncation

Boolean

False

El modificador desactiva el truncamiento explícito de fracciones de segundos en TIMESTAMP al convertir a DATE.

Debido al comportamiento de redondeo predeterminado de Oracle, que convierte las marcas de tiempo en fechas, y debido a que determinadas operaciones de fecha requieren fechas en lugar de marcas de tiempo, la única forma de garantizar la exactitud de estas operaciones es truncar de forma explícita las fracciones de segundos de los tipos de datos timestamp antes de convertir a date. Este truncamiento se aplica también a las fechas, ya que el traductor de consultas de Oracle no tiene acceso a la información del tipo Oracle subyacente para distinguir entre marca de tiempo y fecha. Esto tiene un impacto de escasa importancia en el rendimiento en muchas operaciones de fecha. En caso de no usarse ninguna marca de tiempo en las bases de datos de destino, este modificador se puede establecer en True y se puede omitir el truncamiento innecesario.

EnableMath

OpCasting

Boolean

False

El modificador activa la conversión de los resultados de las operaciones matemáticas a un formato decimal de Microsoft .NET Framework.

Determinadas operaciones matemáticas de las consultas pueden tener como resultado valores decimales con una combinación de precisión y escala que no se puede representar en el tipo de datos decimal de .NET Framework. Aunque puede convertir explícitamente los resultados de estas expresiones decimales a un decimal, no es probable que los usuarios del Generador de informes sepan que esto es necesario en tiempo de diseño. En caso de que estas expresiones se creen con frecuencia, este modificador se puede establecer en True para realizar automáticamente la conversión necesaria.

Historial de cambios

Contenido actualizado

Se ha actualizado el nombre del modificador de configuración que desactiva el truncamiento explícito de las fracciones de segundos en TIMESTAMP al convertirlas en DATE. El nombre correcto del modificador es DisableTSTruncation.