![]() |
Oracle + Excel
Постановка задачи:
Необходимо, чтобы любой пользователь корпоративной сети или подсети мог получить с Оракла заранее определенный по формату, но не определенный по содержанию, набор данных, сохраненный в файл Microsoft Excel на клиентском месте без использования клиентских приложений, процедур и т.д. По сути отделу Н. необходимо получать набор ошибочных данных с дальнейшей обработкой в Microsoft Excel. Т.е. SQL-запрос известен заранее. В него подставляется несколько параметров и он отправляется на выполнение. Не могу придумать, как это сохранить в Excel. :( В качестве промежуточного звена между клиентом и сервером Оракл рассматриваю вариант использования сервера Apache. |
Сохрани в csv
|
RaZEr
не понял ... как сохранить? чем? |
SwiMMeR
Выборку из таблицы Oracle в файл с разделителями, который потом можно просто открыть в Excel. Чем: PHP- или Perl-скриптом, который запрашивает параметры SQL-запроса и возвращает этот самый файлик. |
проехали - попутал
|
Не путай CVS и CSV
|
/7y3uK
CSV - Comma Separated Value :ржать: |
Хех... не флуд!
буду внимательнее читать... попутал :) Баальшой пардон :) :ржать: |
Самое простое - через MS Query запрашивать прямо в Excel. Excel menu: Data|Import External Data|New database query... Там и параметры можно подставить, и summary при необходимости сделать. Для этого на машине нужен оракловский клиент, ODBC драйвер для оракла и MS Query из офиса.
Если условия неприемлемы, можно действительно генерировать CSV или html, последнее несколько сложнее, но позволяет получить готовый красивый отчет. |
lazyman
Цитата:
|
Вложений: 2
SwiMMeR
А кстати, lazyman дело предложил. Установи ODBC-коннектор к Oracle, а потом в Excel очень просто получить данные: Данные -> Импорт внешних данных -> Попробуй так. :) З.Ы. Одного ODBC-драйвера недостаточно, нужно еще обязательно поставить oracle-клиента, хотя бы в минимальной конфигурации. Если не ошибаюсь, в Oracle8i для этого потребуется 50 метров на диске и 15 минут свободного времени ;) З.З.Ы. Кстати, в том же меню есть пункт "Создание веб-запроса". В аттаче пример (я там обращаюсь к скрипту на своем http-сервере (виден только в локалке), который позволяет ввести запрос к Oracle, выполнить его и отобразить результаты). В другом аттаче - тот самый скрипт, правда на перле, но переделать в пхп не сложно ;) |
Ghost
Это задача должна быть - "сделал и забыл". Это не разовая, а постоянная задача. Поэтому пытаемся реализовать систему получения информации web-страницей с последующим подключением Excel из этой же страницы и заполнения окна Excel. на Оракл - очень просто писать процедурки, которые возвращают Html-поток. Теперь нужно чтобы клиентский броузер правильно обработал этот поток сформировав не html-страницу, а Excel-страницу. |
SwiMMeR
Так в чем проблема? Я сейчас сделал такую штуку: 1. В Excel вставил результат выполнения запроса из предыдущего поста. 2. Удалил пару строк из таблицы, сохранил книгу и закрыл программу. 3. Открыл заново Excel, вызвал панель "Внешние данные", нажал на ней кнопку "Обновить все" и оп-паньки - все строки на месте. Все просто ;) А если нужно изменить запрос, то нажимаем кнопку "Свойства диапазона данных" в той же панели и правим первое поле (в моем случае содержит "?query=select+table_name+from+user_tables") или нажимаем конопку "Изменить запрос" и меняем его в форме страницы. Чем тебя такой вариант не устраивает? |
Ghost
ругается на "use DBI;" - error 500 я в перле не силен ... чего он хочет? |
Ему нужны библиотека DBI (DataBase Interface) и к ней DBD::Oracle (DataBase Driver Oracle). Они не устанавливаются вместе с перлом. Нужно ставить отдельно. Сейчас пороюсь у себя в компактах - где-то лежит. Найду - выложу и стукну в ПМ.
З.Ы. Нашел. Выложил. Стукнул. :) |
| Часовой пояс GMT +4, время: 05:16. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.