Форум FAQ О команде
Поиск по сайту:
 
Sybase
Sybase ASA  
Sybase ASE  
Sybase IQ  
Sybase PowerDesigner  
Sybase PowerBuilder  

Продукты
Наши продукты  
Продукты партнеров портала  

Сообщества
Alef community  

Меню
Регистрация  
Почта  

Вход

Рассылка
Рассылка 'РСУБД Sybase ASA 9 - мощность, легкость и надежность'
Почтовая рассылка
"Технологии обработки данных компании Sybase"


Статистика
Яндекс цитирования

Rambler's Top100
Находится в каталоге Апорт

Главная -> Статьи
Возврат HTML из процедуры

Возврат HTML из процедуры

Создаем процедуру, которая формирует код HTML-страницы:
CREATE PROCEDURE sp_get_html()
RESULT(html_doc long varchar)
BEGIN
  DECLARE @Content long varchar;
  DECLARE @Tmp long varchar;

  SET @Content = '<html><head><title>' ||
         'Пример HTML-страницы' ||
         '</title></head>' ||
         '<body><table border="1">' ||
         '<tr><td>Название таблицы' ||
         '</td><td>Тип таблицы</td></tr>\n';

  SELECT LIST('<tr><td>' || table_name || '</td><td>' || table_type ||
              '</td></tr>', '\n' ORDER BY table_name)
  INTO @Tmp
  FROM SYS.SYSTABLE;

  SET @Content = @Content || @Tmp ||
         '</table></head></html>';
  
  call dbo.sa_set_http_header( 'Content-Type', 'text/html' );
  SELECT @Content;
END;


Создаем web service, который будет возвращать страницу для клиентского броузера:
CREATE SERVICE root TYPE 'RAW'
AUTHORIZATION OFF
USER DBA
AS CALL sp_get_html();


Запускаем ASA со следующими параметрами:
-xs http(port=80)


Запускаем броузер и в адресной строке набираем:
http://localhost


На заметку:
  • root является корневым web service и на него броузер попадает автоматически, когда идет по ссылке
    http://<host>[:port]

    Если задано другое имя web service, то для обращения к нему нужно ввести в адресной строке броузера
    http://<host>[:port]/<web service name>


  • Если в web service вызов
    CALL sp_get_html()
    заменить на
    SELECT * FROM sp_get_html()
    то ASA установит заголовок Content-Type страницы как 'text/plain' а не 'text/html', и в броузере отобразится текст кода HTML-страницы, а не сама страница (во многих браузерах).

  • Можно считать и отобразить готовую HTML-страницу с диска, еси в процедуре написать
    @Content = CALL xp_read_file('C:\WINDOWS\Web\tip.htm');
    передавая процедуре xp_read_file в качестве параметра путь к HTML-странице на диске.

  • Можно получить HTML-страницу, автоматически сформированную ASA, если в создать web service таким образом:
    CREATE SERVICE root TYPE 'HTML'
    AUTHORIZATION OFF
    USER DBA
    AS SELECT table_name, table_type
         FROM SYS.SYSTABLE
         ORDER BY table_name;


    ---
    С уважением,
    IKAR


  • Дата публикации: Monday 27 March 2006 18:30:40
    Материал прочитан: 14980 раз(а)
    [ Назад ]



    Продвижение сайтов
    Биржа ссылок

    Copyright©2005 phpMS. Все права защищены.
    hosted on pets-tree