Создание и использование моделей отчетов на основе Oracle
Модель отчета на основе базы данных Oracle версии 9.2.0.3 и более поздней может быть создана с помощью конструктора моделей, диспетчера отчетов или среды Microsoft Office SharePoint Server 2007 или SharePoint Server 2010 в режиме интеграции с SharePoint.
Для создания моделей отчетов на основе баз данных Oracle необходима версия клиента Oracle 9.2.0.3 или более поздняя. Каталог клиента Oracle должен быть включен в системный путь, а служба Windows и веб-служба сервера отчетов должны иметь разрешения на доступ к файлам в этом каталоге.
Кроме того, обязательно выполнение следующих условий.
Модуль обработки данных Oracle для служб Службы Reporting Services доступен в установке служб Службы Reporting Services.
Клиент Oracle установлен в папку, которая доступна службе Windows и веб-службе сервера отчетов.
Служба Windows сервера отчетов, веб-служба сервера отчетов и учетная запись автоматического выполнения должны иметь разрешения на чтение и выполнение в каталоге установки клиента Oracle.
Строки соединения
При построении модели отчета на основе базы данных Oracle указывается следующая строка соединения:
Data Source="Oracle9";Unicode="True"
, где «Oracle9» представляет собой логическое имя сервера Oracle.
Примечание |
---|
При задании строки соединения с базой данных Oracle параметр ServerName должен иметь соответствие в файле конфигурации tnsnames.ora. |
Дополнительные сведения о соединении с источником данных Oracle см. в разделе Тип соединения Oracle (SSRS).
Важно! |
---|
При создании представления источника данных для модели Oracle в мастере представлений источников данных на странице «Выбор источника данных» нажмите кнопку Дополнительно и в диалоговом окне Расширенные параметры представления источника данных выберите имя схемы для фильтрации объектов базы данных. Затем выберите объекты базы данных, которые следует включить в модель. |
Функциональные ограничения
Из-за особенностей внутреннего устройства базы данных Oracle транслятор запросов на языке определения семантической модели (SMDL) имеет некоторые отличия при работе с ней. Это может привести к небольшим отличиям в функциональных возможностях и параметрах конфигурации, необходимых для реализации обходных путей при решении проблем и ограничений разработки в целевой базе данных. Ниже приведено описание этих отличий.
Типы данных
SMDL поддерживает только перечисленные ниже типы данных Oracle.
Тип SMDL |
Тип Oracle |
---|---|
String |
CHAR, NCHAR, VARCHAR2, NVARCHAR2, LONG, CLOB, NCLOB |
Decimal или Integer |
NUMBER |
Boolean |
NUMBER Если столбец Oracle в файле представления источника данных (DSV) помечен как «Boolean», то базовый столбец должен иметь тип NUMBER и содержать только значения 0, 1 и NULL. |
Date |
DATE, TIMESTAMP |
Binary |
RAW, LONGRAW, BLOB |
SMDL не поддерживает типы данных, не перечисленные выше, в том числе следующие.
BINARY_FLOAT
BINARY_DOUBLE
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
ROWID
UROWID
BFILE
При автоматическом создании модели отчета с помощью диспетчера отчетов или продукта SharePoint столбцы, которые содержат неподдерживаемые типы данных, исключаются из модели. Кроме того, если неподдерживаемый тип данных является частью первичного ключа, не будет создана вся сущность.
При создании модели отчета при помощи конструктора моделей в нее добавляются все объекты, поэтому все перечисленные выше неподдерживаемые типы данных придется отфильтровать вручную.
Функции
Работа некоторых функций может зависеть от базы данных. Если в качестве длины для функций Left, Right и Substring указано значение меньше нуля, в SMQL результат не будет определен.
Параметры конфигурации
Для разных базовых источников данных доступно множество параметров конфигурации, влияющих на работу транслятора запросов в зависимости от их специфики и окружения. Следующие параметры определены в файле RSReportServer.config, который по умолчанию находится в каталоге <SysDrive>:\Program Files\Microsoft SQL Server\MSSQL.X\Reporting Services\ReportServer\.
Название |
Тип |
Определение по умолчанию |
Описание |
---|---|---|---|
Disable NO_MERGE InLeftOuters |
Boolean |
False |
Отключает подсказку оптимизатору NO_MERGE, которая формируется для запросов Oracle. Из-за имеющихся в оптимизаторе запросов Oracle технических проблем некоторые категории запросов с левым внешним соединением завершаются ошибкой или возвращают неверные результаты. Поэтому транслятор запросов Oracle для служб Службы Reporting Services включает в запросы с левым внешним соединением подсказку NO_MERGE. Это гарантирует правильную работу, однако может отрицательно сказаться на производительности. Если от Oracle будет получено обновление программного обеспечения, которое решает данную проблему, этот параметр можно установить в значение True, отключив формирование подсказки NO_MERGE. |
EnableUnistr |
Boolean |
False |
Принудительно включает явное использование функции UNISTR для представления в запросах Oracle литералов в Юникоде. Если локаль базы данных совпадает с локалью символьной строки, содержащейся в запросе, то строковые константы в Юникоде могут формироваться в виде обычных строк. Если указана символьная константа, которой нет соответствия в кодовой странице, определенной параметром NLS_CharacterSet базы данных Oracle, явное применение функции UNISTR для представления литералов в Юникоде является обязательным. Если этот параметр установлен в значение True, то все строковые константы в Юникоде, содержащиеся в запросе, будут закодированы с помощью функции UNISTR базы данных Oracle. |
DisableTSTruncation Truncation |
Boolean |
False |
Отключает явное усечение долей секунд типа данных TIMESTAMP при преобразовании в тип данных DATE. Поскольку по умолчанию Oracle производит округление при приведении отметки времени к дате, а некоторым операциям требуется дата, а не отметка времени, единственным способом гарантировать точность является явное усечение долей секунд перед преобразованием в дату. Усечение применяется также и к датам, поскольку транслятору запросов Oracle недоступны сведения о типе данных, поэтому он не в состоянии отличить тип timestamp от типа date. Это оказывает небольшое воздействие на производительность большинства операций с датами. В случае если отметки времени не используются ни в одной из целевых баз данных, этот параметр можно установить в значение True, исключив ненужное усечение. |
EnableMath OpCasting |
Boolean |
False |
Включает приведение результата выполнения математических операций к десятичному формату Microsoft .NET Framework. Некоторые математические операции в запросах могут вернуть десятичное значение, сочетание точности и масштаба которого не могут быть представлены типом данных decimal .NET Framework. Поскольку результат вычисления можно явно привести к типу decimal, вряд ли пользователь построителя отчетов узнает, что это необходимо делать при разработке. Если явное приведение приходится делать слишком часто, этот параметр можно установить в значение True, чтобы оно производилось автоматически. |
См. также
Основные понятия
Журнал изменений
Обновленное содержимое |
---|
Обновлено имя параметра конфигурации, который отключает явное усечение долей секунд типа данных TIMESTAMP при преобразовании в тип данных DATE. Правильное имя параметра — DisableTSTruncation. |