Конструкторы запросов и модули обработки данных (службы Reporting Services)
Конструктор запросов помогает создать команду запроса, определяющего данные, которые должны присутствовать в наборе данных отчета. Модуль обработки данных передает созданный запрос в источник данных и получает результирующий набор. Службы Reporting Services предоставляют конструктор запросов и модуль обработки данных при выборе типа источника данных для набора данных. Например, если создается набор данных для типа источника данных MicrosoftSQL Server, то при создании запроса откроется конструктор запросов SQL Server.
Конструктор запросов и модуль обработки данных могут иметь различный уровень поддержки источников данных в зависимости от используемой версии языка. Например, языки запросов, такие как Transact-SQL, могут иметь разный синтаксис в зависимости от типа источника данных. Языки MicrosoftTransact-SQL и Oracle SQL имеют небольшие изменения в синтаксисе команд запросов.
Конструкторы запросов и типы источников данных
Конструктор запросов можно использовать для создания нового запроса, получающего данные из источника данных. Также можно выполнить импорт существующего запроса из файла определения отчета (RDL-файл) или, в случае с запросами SQL Server, из SQL-файла.
Службы Reporting Services предоставляют как графический, так и текстовый конструкторы запросов. В текстовом конструкторе запросов в области запроса можно ввести текст команды. В графическом конструкторе запросов поддерживается перетаскивание из источника данных в область конструктора элементов метаданных, представляющих данные. Большинство многомерных источников данных предоставляют графический конструктор запросов, который отображает метаданные, представляющие данные в источнике данных. Переключение из графического режима в текстовый производится щелчком значка текстового конструктора запросов на панели инструментов.
Переключиться из текстового режима конструктора запросов в графический можно, только если он был зарегистрирован для этого источника данных. Поскольку в графическом конструкторе запросов могут быть представлены не все допустимые запросы, при переключении режима текст запроса сохраняется не всегда. Текстовый конструктор запросов предоставляет больше возможностей управления текстом запроса.
Приведенные ниже примеры демонстрируют текст запроса, который может измениться в зависимости от поставщика данных.
Поддержка указания схемы в именах объектов базы данных. Если источник данных использует указание схемы в идентификаторе объекта базы данных, она должна указываться в запросе для всех имен, имеющих схему, отличную от схемы по умолчанию. Например, SELECT FirstName, LastName FROM [Person].[Contact].
Поддержка параметров запроса. Поставщики данных поддерживают параметры запросов по-разному. Некоторые из них поддерживают именованные параметры, например: SELECT Col1, Col2 FROM Table WHERE <parameter identifier><parameter name> = <value>. Другие поддерживают неименованные параметры, например: SELECT Col1, Col2 FROM Table WHERE <column name> = ?. Идентификаторы параметров могут различаться для разных поставщиков данных. Так, в SQL Server используется символ «@», а в Oracle — двоеточие (:) . Некоторые поставщики данных вообще не поддерживают параметров. Дополнительные сведения см. в разделе Источники данных, поддерживаемые службами Reporting Services.
Дополнительные сведения о конкретных конструкторах запросов см. в разделе Конструкторы запросов служб Reporting Services.