+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 92.01 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Создание серверных XSQL-страниц

16.12.2009 12:17

Используя утилиты из Oracle XML Developer's Kit, вы можете создавать динамические XML-страницы на основе SQL-запросов. Oracle 8i содержит компоненты и утилиты, включая Oracle XSQL Servlet, которые позволяют использовать технологию XML в создаваемых вами приложениях для работы с базами данных Oracle. Следующий фрагмент из книги Oracle XML Handbook (Oracle Press 2000) расскажет, как это можно сделать.

Архитектура XSQL-страниц

XSQL Servlet - это средство, обрабатывающее SQL-запросы и поставляющее результирующие наборы данных в виде XML-документов. Этот процессор работает как Java Servlet, и в результате его работы получается XML-файл, содержащий в себе SQL-запрос. Он использует Oracle's XML Developer's Kit для осуществления большинства этих операций.

Использовать XSQL Servelt можно с любым Web-сервером, который поддерживает Java-сервлеты. Данные направляются от клиента к сервлету и возвращаются клиенту. Последовательность событий такова:

  • Пользователь в браузере задает адрес (URL), который обрабатывается и передается Java Web-сервером для XSQL Servelt. Адрес (URL) содержит имя конечного XSQL-файла (.xsql) и, возможно, набор параметров, таких как: значения и имя стиля. Кроме того, пользователь может вызвать XSQL Servelt из командной строки, минуя браузер и Java Web-сервер.
  • Сервлет передает XSQL-файл XML Java -разборщику, который разбирает XML и создает API для доступа к содержанию документа.
  • Процессор страниц (это компонент сервлета) использует API для передачи XML-параметров и SQL-выражений (находящихся между тегами "xsql:query" и "/xsql:query"). Кроме того, процессор страниц передает любые XSL-операторы XSLT-процессору.
  • Процессор страниц создает DOM (Document Object Model - объектная модель документа), посылая SQL-запрос под управлением Oracle8 i , который возвращает результат запроса. Результат размещается в XML-файле на месте, которое отмечено тегом "xsql:query".
  • Если это необходимо, результат запроса и любые другие XML-данные трансформируются XSLT-процессором с использованием заданных стилей. Данные могут быть преобразованы в HTML или любые другие форматы, определенные стилем. XSLT-процессор может выборочно применять различные стили, имея в виду тип клиента, который сделал исходный URL-запрос. Информация о клиенте получается от него посредством HTTP-запроса.
  • XSLT-процессор передает готовый документ обратно на браузер клиента, который в свою очередь отображает его пользователю.

Установка XSQL Servlet

Вы можете установить и настроить XSQL Servelt на различных Web-серверах, таких как Oracle8 i Lite Web-to-Go Server, Apache 1.3.9 (с JServ 1.0), и Sun JavaServer Web Development Kit (JSWDK) 1.0.1 Web Server.

В этой части мы рассмотрим установку XSQL Servelt на Apache 1.3.9 Web-сервер. Основные этапы установки следующие:

Этап 1: Правка CLASSPATH.

Убедитесь что все, необходимые для запуска XSQL Servelt, JAR- файлы прописаны в CLASSPATH для исполнительного механизма (runtime engine) Apache JServ. Вы должны добавить следующие строки в файл jserv.properties:

# Oracle XSQL Servlet
wrapper.classpath=C:\xsql\lib\oraclexsql.jar
# Oracle JDBC (8.1.5)
wrapper.classpath=C:\xsql\lib\classes111.zip
# Oracle XML Parser V2 (with XSLT Engine)
wrapper.classpath=C:\xsql\lib\xmlparserv2.jar
# XSQLConfig.xml File location
wrapper.classpath=C:\xsql\lib

Этап 2: Регистрация .xsql

Зарегистрируйте расширение .xsql для доступа к Java servlet class, который называется oracle.xml.xsql.XSQLServlet. Вы должны добавить следующие строки в файл конфигурации mod_jserv.conf

# Executes a servlet passing filename with proper extension
# property of servlet request.
# Syntax: ApJServAction [extension] [servlet-uri]
# Defaults: NONE
# Notes: This is used for external tools.
#ApJServAction .jsp /servlets/nl.nmg.jsp.JSPServlet
ApJServAction .xsql /servlets/oracle.xml.xsql.XSQLServlet

После регистрации расширения .xsql, перезапустите Web-сервер и откройте XSQL-файл, чтобы увидеть XML-выходной файл, а также трансформированный HTML-выходной файл.

Преобразование SQL-запросов в динамические XML-документы

Oracle XSQL-страницы (pages) - это XML-страницы (datapages) с размещенными в них SQL-запросами для получения или вставки данных. Вы можете сделать XSQL-страницу, если исправите свой XML-файл, вставив тег "xsql:query" в месте, где должен исполняться SQL. Тег "xsql:query" будет заменен выходными данными XML в запросе.

XSQL Servelt использует файл конфигурации XSQLConfig.xml для доступа и подключения к базе данных. Простейший файл конфигурации выглядит следующим образом:

"?xml version="1.0" ?"
"XSQLConfig"
"connectiondefs dumpallowed="no""
"connection name="demo""
"username"scott"/username"
"password"tiger"/password"
"dburl"jdbc:oracle:thin:@localhost:1521: ORCL"/dburl"
"driver"oracle.jdbc.driver.OracleDriver "/driver"
"/connection"
"/connectiondefs"
:
"/XSQLConfig"

Вы можете определить дополнительные элементы подключения для идентификации различных пользователей или для использования разных драйверов JDBC. XSQL Servelt ищет атрибут "connection" в вашем корневом XML-документе, это значение должно содержать название подключения, описанного в файле конфигурации.

Использавание тега "xsql:query" можно показать так:

"?xml version="1.0"?"
"xsql:query xmlns:xsql="urn:oracle-xsql" connection="demo""
SELECT 'Hello World' AS "GREETING" FROM
DUAL
"/xsql:query"

Этот XSQL-код создаст следующий XML-документ:

"?xml version = '1.0'?"
"ROWSET"
"ROW id="1""
"GREETING"Hello World"/GREETING"
"/ROW"
"/ROWSET"

Вы можете преобразовать XML-документ в другие формы XML-документов или в HTML. Можно также подключить внешние стили в XSQL-коде, используя следующую инструкцию:

"?xml-stylesheet type="text/html" href="transform.xsl"?"

Вы можете использовать объектно-ориентированные запросы в своих XSQL-страницах. Вы также можете использовать URL для передачи параметров для этих страниц. Например, вы можете использовать объекно-ориентированные возможности Oracle8 i для создания пользовательского объектного типа POINT. Можно объявить этот новый тип POINT, как тип данных столбца ORIGIN в таблице LOCATIONS, используя следующие DDL-выражения.

CREATE TYPE POINT AS OBJECT (X NUMBER, Y NUMBER);
CREATE TABLE LOCATION (
NAME VARCHAR2(80),
ORIGIN POINT
);

Можно вставить строку в таблицу LOCATION, используя выражение INSERT с конструктором POINT():

SQL" INSERT INTO LOCATION VALUES ('Someplace', POINT(11,17) );
SQL" COMMIT;

Теперь вы можете использовать XSQL-страницу, как следующий point.xsql для запроса по таблице LOCATION, используя параметр x-coord.

"xsql:query connection="demo"
xmlns:xsql="urn:oracle-xsql""
SELECT name, origin
FROM location loc
WHERE loc.origin.x = {@x-coord}
"/xsql:query"

Используя следующий URL, можно получить все значения, для которых значение параметра x-coord равно 11. http://yourmachine.com/xsql/demo/point.xsql?
x-coord=11
"ROWSET"
"ROW num="1""
"NAME"Someplace"/NAME"
"ORIGIN"
"X"11"/X"
"Y"17"/Y"
"/ORIGIN"
"/ROW"
"/ROWSET"

В предыдущем примере хорошо видно, как параметры X и Y столбца ORIGIN, имеющего тип данных POINT, автоматически превращаются в элементы "X" и "Y" XML-файла.

Поддержка тегов XSLT в XSQL

XSQL-страницы Oracle привлекают тем, что позволяют собирать динамические XML-таблицы, основанные на одном или более параметрических SQL- запросах. Процессор, используя XSLT- трансформер для страниц, выводит результат в любом желаемом формате XML, HTML или текстовом. Тем не менее, можно использовать XSLT для формирования XML-страниц. Например, можно использовать XSLT для исполнения SQL запросов c условиями заданными тегами "xsl:choose" или "xsl:if". Следующий пример показывает как использовать тег "xsl:if" для нахождения полной или детальной информации в списке книг:

"?xml version="1.0"?"
"xsql:query connection="demo" xmlns:xsql="urn:oracle-xsql"
xmlns:xsl="http://www.w3.org/1999/XSL /Transform""
"xsl:if test="$detail = 'yes'""
SELECT * FROM scott.BookList
"/xsl:if"
"xsl:if test="$detail = 'no'""
SELECT Title, Authorname FROM scott.BookList"/xsql:query"
"/xsl:if"
"/xsql:query"

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года