Базы данных Oracle - статьи


           

у вас есть уже всё,


В принципе, у вас есть уже всё, что необходимо для реализации задуманного. И написать подобную утилиту вы наверняка сможете сами. И возможно даже лучше чем то, что предложено ниже.
Собственно решением является plsql пакет fp_exp с единственной public процедурой to_excel, которая вызывается без всяких параметров, например, в пункте меню "Экспорт в Excel": BEGIN fp_exp.to_excel; END;
Перед началом использования нужно выполнить предварительную настройку пакета, установив значения константам, находящимся в спецификации пакета.
Утилита изначально разрабатывалась для использования с Forms Server, работающим под Linux. Затем была перенесена в среду Oracle Applications (та же архитектура, но под SUN Solaris). Поэтому приводится вариант пакета для web реализации. Для работы в клиент-сервер, тело процедуры to_excel нужно лишь чуть-чуть подправить, что не должно вызвать у вас затруднений. PACKAGE fp_exp /* -- fp_exp 15-JUL-2003 by pal (Pavel Luzanovv) -- НАЗНАЧЕНИЕ -- Экспорт данных текущего блока в MS Excell -- МОДИФИКАЦИЯ -- 15-JUL-2003 pal Создание */ IS -- На что заменять символ табуляции в
значении элемента формы chr9subst_pc CONSTANT VARCHAR2(3) := ' ';
-- На что заменять символ перевода строки
в значении элемента формы chr10subst_pc CONSTANT VARCHAR2(1) := ' ';
-- В каком формате выводить элементы типа даты date_format_pc CONSTANT VARCHAR2(8) := 'DD.MM.YY';
-- каталог на сервере приложения, где
будут создаваться файлы экспорта tempdir_pc CONSTANT VARCHAR2(255) := '/oraapp/tempdata/';
-- относительный путь до cgi-скрипта,
для использования -- в WEB.SHOW_DOCUMENT cgi_script_pc CONSTANT VARCHAR2(255) :=
'/cgi-bin/exp2xls';
PROCEDURE to_excel; END fp_exp;
PACKAGE BODY fp_exp IS TYPE item_rectype IS RECORD ( name VARCHAR2(30), prompt VARCHAR2(255), datatype VARCHAR2(255) ); TYPE item_tabtype IS TABLE OF item_rectype
INDEX BY BINARY_INTEGER; item_tab item_tabtype;
/* --------- LOCAL MODULES --------- */ PROCEDURE show_progress (message_in IN VARCHAR2) IS BEGIN MESSAGE(message_in, NO_ACKNOWLEDGE); SYNCHRONIZE; END show_progress;

Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий