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

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

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

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

Вход

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


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

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

Главная -> ПО Sybase -> Sybase ASA -> Полезный код
Возврат 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
    Материал прочитан: 9518 раз(а)
    [ Назад ]



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

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