| imho.ws |
![]() |
|
|
|
# 1 |
|
::VIP::
Отыпный Саводод Регистрация: 27.10.2002
Адрес: Краснодар, Россия
Пол: Male
Сообщения: 452
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Постановка задачи:
Необходимо, чтобы любой пользователь корпоративной сети или подсети мог получить с Оракла заранее определенный по формату, но не определенный по содержанию, набор данных, сохраненный в файл Microsoft Excel на клиентском месте без использования клиентских приложений, процедур и т.д. По сути отделу Н. необходимо получать набор ошибочных данных с дальнейшей обработкой в Microsoft Excel. Т.е. SQL-запрос известен заранее. В него подставляется несколько параметров и он отправляется на выполнение. Не могу придумать, как это сохранить в Excel. ![]() В качестве промежуточного звена между клиентом и сервером Оракл рассматриваю вариант использования сервера Apache.
__________________
The Information will be FREE! |
|
|
|
|
# 4 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SwiMMeR
Выборку из таблицы Oracle в файл с разделителями, который потом можно просто открыть в Excel. Чем: PHP- или Perl-скриптом, который запрашивает параметры SQL-запроса и возвращает этот самый файлик.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! Последний раз редактировалось Ghost; 02.03.2005 в 10:43. Причина: склероZzz... |
|
|
|
|
# 9 |
|
Guest
Сообщения: n/a
|
Самое простое - через MS Query запрашивать прямо в Excel. Excel menu: Data|Import External Data|New database query... Там и параметры можно подставить, и summary при необходимости сделать. Для этого на машине нужен оракловский клиент, ODBC драйвер для оракла и MS Query из офиса.
Если условия неприемлемы, можно действительно генерировать CSV или html, последнее несколько сложнее, но позволяет получить готовый красивый отчет. |
|
|
# 10 | |
|
::VIP::
Отыпный Саводод Регистрация: 27.10.2002
Адрес: Краснодар, Россия
Пол: Male
Сообщения: 452
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
lazyman
Цитата:
__________________
The Information will be FREE! |
|
|
|
|
|
# 11 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SwiMMeR
А кстати, lazyman дело предложил. Установи ODBC-коннектор к Oracle, а потом в Excel очень просто получить данные: Данные -> Импорт внешних данных -> Попробуй так. ![]() З.Ы. Одного ODBC-драйвера недостаточно, нужно еще обязательно поставить oracle-клиента, хотя бы в минимальной конфигурации. Если не ошибаюсь, в Oracle8i для этого потребуется 50 метров на диске и 15 минут свободного времени ![]() З.З.Ы. Кстати, в том же меню есть пункт "Создание веб-запроса". В аттаче пример (я там обращаюсь к скрипту на своем http-сервере (виден только в локалке), который позволяет ввести запрос к Oracle, выполнить его и отобразить результаты). В другом аттаче - тот самый скрипт, правда на перле, но переделать в пхп не сложно
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! Последний раз редактировалось Ghost; 04.03.2005 в 08:10. Причина: склероZzz... |
|
|
|
|
# 12 |
|
::VIP::
Отыпный Саводод Регистрация: 27.10.2002
Адрес: Краснодар, Россия
Пол: Male
Сообщения: 452
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ghost
Это задача должна быть - "сделал и забыл". Это не разовая, а постоянная задача. Поэтому пытаемся реализовать систему получения информации web-страницей с последующим подключением Excel из этой же страницы и заполнения окна Excel. на Оракл - очень просто писать процедурки, которые возвращают Html-поток. Теперь нужно чтобы клиентский броузер правильно обработал этот поток сформировав не html-страницу, а Excel-страницу.
__________________
The Information will be FREE! |
|
|
|
|
# 13 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SwiMMeR
Так в чем проблема? Я сейчас сделал такую штуку: 1. В Excel вставил результат выполнения запроса из предыдущего поста. 2. Удалил пару строк из таблицы, сохранил книгу и закрыл программу. 3. Открыл заново Excel, вызвал панель "Внешние данные", нажал на ней кнопку "Обновить все" и оп-паньки - все строки на месте. Все просто ![]() А если нужно изменить запрос, то нажимаем кнопку "Свойства диапазона данных" в той же панели и правим первое поле (в моем случае содержит "?query=select+table_name+from+user_tables") или нажимаем конопку "Изменить запрос" и меняем его в форме страницы. Чем тебя такой вариант не устраивает?
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
|
|
|
|
# 15 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ему нужны библиотека DBI (DataBase Interface) и к ней DBD::Oracle (DataBase Driver Oracle). Они не устанавливаются вместе с перлом. Нужно ставить отдельно. Сейчас пороюсь у себя в компактах - где-то лежит. Найду - выложу и стукну в ПМ.
З.Ы. Нашел. Выложил. Стукнул.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! Последний раз редактировалось Ghost; 04.03.2005 в 14:16. Причина: склероZzz... |
|
|