Как в PL/SQL определить дату время создания внешнего файла
От: bo_  
Дата: 17.09.04 15:31
Оценка:
Помогите чайнику, вопрос следующий, неоходимо получить дату создания файла лежащего в сети средствами Oracle. После того как ознакомился с предметом, понял, что надо делать это с помощью Java класса, других вариантов как я понимаю вроде нет. Попробовал, если файл лежит локально, то это работает, если на выделенном ресурсе в сети, то нет! По крайней мере у меня не получается. Прошу пояснить, возможно ли получить lastModified файла лежащего на сетевом диске? Может это нельзя сделать, и надо искать другие решения. Хотя наверно все ж таки можно, потому что если класс выполнять не в среде оракла, то дату файла в сети все же я могу получить, а вот из оракла почему то не получается.

делаю это следующим образом..

create or replace and compile java source named filedate as
import java.io.*;
import java.sql.*;

public class filedate
{
  public static void getFile(java.lang.String path) throws SQLException
  {
       java.io.File f = new File( path );
         if (!f.exists())
         {
            return;
         }
         System.out.println(new java.sql.Timestamp(f.lastModified()).toString());
  }
}


Далее создаю процедуру, которая в свою очередь использует Java класс

CREATE OR REPLACE PROCEDURE GET_FILE_DATE(FILENAME VARCHAR2)
AS LANGUAGE JAVA
NAME 'filedate.getFile(java.lang.String)';


Предоставляю грант пользователю
exec dbms_java.grant_permission( 'USERNAME', 'SYS:java.io.FilePermission', '\\compname\directory\*', 'read' );


Ну уже дал и такие привилегии как..
grant javasyspriv to USERNAME;
grant javauserpriv to USERNAME;


... может есть какие нить мысли по этому поводу?

С уважением..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.