Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как можно запустить файл из PL\SQL&&?? И возможно ли это в Oracle 8.1.7.0 
:(
    Опции темы
Marriage
Дата 4.11.2005, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

Репутация: нет
Всего: 2



Собственно ..
Есть функция в PL\SQL
Можно ли как нить запустить файл (EXE,DOC,SQL, в общем любой )


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
LSD
Дата 4.11.2005, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



 Можно написать хранимую процедуру на Java которая сможет выполнить команду ОС. Что нибудь наподобие:
Код
create or replace and compile java source named server_exec as

import java.io.IOException;
import java.io.InputStream;

public class Exec
{
  public static int exec(String cmd) throws IOException, InterruptedException
  {
    Process proc = Runtime.getRuntime().exec(cmd);
    new Streamer(proc.getInputStream()).start();
    new Streamer(proc.getErrorStream()).start();
    return proc.waitFor();
  }

  private static class Streamer extends Thread
  {
    private InputStream in;

    public Streamer(InputStream in)
    {
      this.in = in;
    }

    public void run()
    {
      byte[] buffer = new byte[1024];
      try
      {
        while(in.read(buffer) != -1)
        {}
      }
      catch(IOException e)
      {}
    }
  }
}
/


Код
create or replace function EXEC(command varchar2) return number as
language java name 'Exec.exec(java.lang.String) return int';
 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Marriage
Дата 4.11.2005, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

Репутация: нет
Всего: 2



LSD
А проще никак ...
Может быть есть какой-нить DBMS_........
????


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
LSD
Дата 5.11.2005, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Нет, можешь еще глянуть "У Тома".


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Vladelot
Дата 23.11.2005, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 22.11.2005

Репутация: нет
Всего: нет



А можешь сделать через пайп и написанную тобой службу которая слушает пайп и запускает то что тебе нужно
PM MAIL   Вверх
LSD
Дата 23.11.2005, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(Vladelot @ 23.11.2005, 09:12)
А можешь сделать через пайп и написанную тобой службу которая слушает пайп и запускает то что тебе нужно

А примерчик, накидать можешь?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Vladelot
Дата 23.11.2005, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 22.11.2005

Репутация: нет
Всего: нет



to LSD
без б. тока домой приеду...а приезжаю я в понедельник...
а пока по памяти могу сказать только это:
работаешь с пакетом DBMS_PIPE.
схема такая ...создаешь пайп в pl/sql процедуре функции что нравится...
далее в этот пайп в тойже процедуре запихиваешь путь и имя файла...(c:\far.exe)
ставишь таймау максимальный...там чтото типа 3 года максимум.
а в это время написанная нами ранее програмка на той же дельфе работает как служба и прослушивает этот пайп с помощью того же dbms_pipe и как только мы передаем название файла в процедуре оракла....служба подхватывает это название и запускает по указанному пути нужный нам файл...для примера "c:\far.exe"...код могу выложить по приезду домой.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0701 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.