powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Java Archive
22 сообщений из 47, страница 2 из 2
Java Archive
    #36795692
d.nemolchev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alientА адаптировать для файловой системы?
Мне в блобы не приходилось помещать архивы- в каких случаях это приходится делать?
э-э-э... пакет выложен "as is", никому не навязывается и доработка по заявкам телезрителей не планируется...
Я просто им поделился с Вами...
Если Вам необходима от него дополнительная функциональность - можете допилить его как Вам заблагорассудится (только тогда желательно ниже строчек "-- author" сделать пометку о том, что пакет доработан не мною...
Но если очень хочется работать с зипами, лежащими в файловой системе (сервера, разумеется), то советую пошукать в документации описание функции BFILENAME, а также процедуры loadblobfromfile пакета dbms_lob и пакет utl_file - жизнь наладится..
...
Рейтинг: 0 / 0
Java Archive
    #36796167
alient
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
import java.io.BufferedInputStream;
   import java.io.BufferedOutputStream;
   import java.io.FileInputStream;
   import java.io.FileOutputStream;
   import java.io.IOException;
   import java.io.InputStream;
   import java.util.Collection;
   import java.util.Enumeration;
   import java.util.zip.ZipEntry;
   import java.util.zip.ZipFile;
   import java.util.zip.ZipOutputStream;
  
  	  public class zip_util {
  
      
    public static void unzip(
      String zipFilename, Collection filenames, String outdir
  	    ) throws IOException {
      unzip(
        zipFilename,
        (String[])filenames.toArray(new String[filenames.size()]),
        outdir
      );
    }
  
    public static void unzip(
      String zipFilename, String[] filenames, String outdir
  	    ) throws IOException  {
  
      ZipFile zipFile = new ZipFile(zipFilename);
      Enumeration entries = zipFile.entries();
  
  	  L1: while(entries.hasMoreElements()) {
        ZipEntry entry = (ZipEntry)entries.nextElement();
  
          for (int i =  0 ; i < filenames.length; i++) {
  	          if (entry.getName().equals(filenames[i])) {
              byte[] buffer = new byte[ 1024 ];
              int len;
 
              InputStream zipin = zipFile.getInputStream(entry);
              BufferedOutputStream fileout = new BufferedOutputStream(
                new FileOutputStream(outdir + "\\"+filenames[i])
              );
  
              while((len = zipin.read(buffer)) >=  0 )
                fileout.write(buffer,  0 , len);
  
            zipin.close();
             fileout.flush();
             fileout.close();
 
             continue L1;
           }
      }
       }
   }
 
 	    public static void unzip1(String zipFilename, String outdir) throws IOException {
     ZipFile zipFile = new ZipFile(zipFilename);
     Enumeration entries = zipFile.entries();
 
 	      while(entries.hasMoreElements()) {
       ZipEntry entry = (ZipEntry)entries.nextElement();
       byte[] buffer = new byte[ 1024 ];
         int len;
 
       InputStream zipin = zipFile.getInputStream(entry);
       BufferedOutputStream fileout = new BufferedOutputStream(
         new FileOutputStream(outdir + "\\" +entry.getName())
       );
 
       while((len = zipin.read(buffer)) >=  0 )
         fileout.write(buffer,  0 , len);
 
       zipin.close();
       fileout.flush();
       fileout.close();
     }
   }
 }


Код: plaintext
1.
2.
3.
4.
PROCEDURE EXTR1 (zipFileName  IN  VARCHAR2,
               uotdir    IN  VARCHAR2) 
as language java 
name 'extr.extract(java.lang.String, java.lang.String)';
Есть и другие средства но могут те прислать 1000 файлов и нада их разпаковать переименовать и засунуть куда надо а потом еще и снова упаковать - думаю эти процедуры и класы будут полезны и они работают 100%. А если кому пригодилось пусть тут отметит.
...
Рейтинг: 0 / 0
Java Archive
    #36796237
d.nemolchev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alient,
+1
спс
берем в копилку.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Java Archive
    #39649752
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно помещать в архив куски текста, генерируемые на PL/SQL (Oracle 11g). Я пытаюсь сделать это так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create or replace and compile java source named "JZip" as
import java.io.*;
import java.util.zip.*;
import oracle.sql.BLOB;

public class JZip
{ 
   public static BLOB AddToArchive(BLOB pArchive, String pFileName, BLOB pFile)
   throws Exception
   {  ByteArrayOutputStream out = new ByteArrayOutputStream((byte[])pArchive);
      ZipOutputStream zip = new ZipOutputStream(out);
      zip.putNextEntry(new ZipEntry(pFileName));
      zip.write((byte[])pFile.getBytes(1, (int)pFile.length()), 0,
        ((byte[])pFile.getBytes(1, (int)pFile.length())).length());
      zip.closeEntry();
      zip.close();
      return out.toByteArray();
   }
}



При компиляции выдаётся сообщение "Compiled with errors".

Код: plsql
1.
select text from user_errors where name='JZip' order by sequence;

выдаёт следующее:

ORA-29535: source requires recompilation
JZip:9: inconvertible types
found : oracle.sql.BLOB
required: byte[]
{ ByteArrayOutputStream out = new ByteArrayOutputStream((byte[])pArchive);
^
JZip:13: cannot find symbol
symbol : method length()
location: class byte[]
((byte[])pFile.getBytes(1, (int)pFile.length())).length());
^
JZip:16: incompatible types
found : byte[]
required: oracle.sql.BLOB
return out.toByteArray();
^
3 errors

а если перед преобразованием в массив байтов преобразовывать в Object:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create or replace and compile java source named "JZip" as
import java.io.*;
import java.util.zip.*;
import oracle.sql.BLOB;

public class JZip
{ 
   public static BLOB AddToArchive(BLOB pArchive, String pFileName, BLOB pFile)
   throws Exception
   {  ByteArrayOutputStream out = new ByteArrayOutputStream((byte[])(Object)pArchive);
      ZipOutputStream zip = new ZipOutputStream(out);
      zip.putNextEntry(new ZipEntry(pFileName));
      zip.write((byte[])(Object)pFile.getBytes(1, (int)pFile.length()), 0,
        ((byte[])(Object)pFile.getBytes(1, (int)pFile.length())).length());
      zip.closeEntry();
      zip.close();
      return out.toByteArray();
   }
}



то тогда получаю вот такие ошибки:
ORA-29535: source requires recompilation
JZip:9: cannot find symbol
symbol : constructor ByteArrayOutputStream(byte[])
location: class java.io.ByteArrayOutputStream
{ ByteArrayOutputStream out = new ByteArrayOutputStream((byte[])(Object)pArchive);
^
JZip:13: cannot find symbol
symbol : method length()
location: class byte[]
((byte[])(Object)pFile.getBytes(1, (int)pFile.length())).length());
^
JZip:16: incompatible types
found : byte[]
required: oracle.sql.BLOB
return out.toByteArray();
^
3 errors

Как можно решить эту проблему?
...
Рейтинг: 0 / 0
Java Archive
    #39649761
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PasticКак можно решить эту проблему?Окончить курсы по джаве.
...
Рейтинг: 0 / 0
Java Archive
    #39649999
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-PasticКак можно решить эту проблему?Окончить курсы по джаве.

Не по джаве, а по яве.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
create or replace and compile java source named "JZip" as
import java.io.*;
import java.sql.*;
import java.util.zip.*;
import oracle.sql.CLOB;
import oracle.jdbc.*;

public class JZip
{ 
   public CLOB AddToArchive(CLOB pArchive, String pFileName, CLOB pFile) throws Exception
   {  ByteArrayOutputStream out = new ByteArrayOutputStream((int)pArchive.length());
      out.write(pArchive.getBytes(), 0, (int)pArchive.length());

      // Добавление файла в архив
      ZipOutputStream zip = new ZipOutputStream(out);
      zip.putNextEntry(new ZipEntry(pFileName));
      zip.write(pFile.getBytes(), 0, (int)pFile.length());
      zip.closeEntry();
      zip.flush();
      zip.close();
      
      // Преобразование out в CLOB
      Connection conn = new OracleDriver().defaultConnection();
      CLOB vRes = CLOB.createTemporary(conn, false, CLOB.DURATION_SESSION);
      vRes.open(CLOB.MODE_READWRITE);
      OutputStream tmp = (OutputStream)vRes.setAsciiStream(0L);
      tmp.write(out.toByteArray());
      tmp.flush();
      tmp.close();
      vRes.close();
      
      return vRes;
   }
}
...
Рейтинг: 0 / 0
Java Archive
    #39650001
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic // Преобразование out в CLOB

Одному мне кажется, что сохранять Zip файл в C LOB совершенно НЕ лучшая идея. А в чем-то, даже, смахивает на диверсию.
...
Рейтинг: 0 / 0
Java Archive
    #39650010
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevPastic // Преобразование out в CLOB

Одному мне кажется, что сохранять Zip файл в C LOB совершенно НЕ лучшая идея. А в чем-то, даже, смахивает на диверсию.

Ну, можно и в BLOB, если нужно:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
create or replace and compile java source named "JZip" as
import java.io.*;
import java.sql.*;
import java.util.zip.*;
import oracle.sql.CLOB;
import oracle.sql.BLOB;
import oracle.jdbc.*;

public class JZip
{ 
   public BLOB AddToArchive(BLOB pArchive, String pFileName, CLOB pFile) throws Exception
   {  ByteArrayOutputStream out = new ByteArrayOutputStream((int)pArchive.length());
      out.write(pArchive.getBytes(), 0, (int)pArchive.length());

      // Добавление файла в архив
      ZipOutputStream zip = new ZipOutputStream(out);
      zip.putNextEntry(new ZipEntry(pFileName));
      zip.write(pFile.getBytes(), 0, (int)pFile.length());
      zip.closeEntry();
      zip.flush();
      zip.close();
      
      // Преобразование out в BLOB
      Connection conn = new OracleDriver().defaultConnection();
      BLOB vRes = BLOB.createTemporary(conn, false, BLOB.DURATION_SESSION);
      vRes.open(BLOB.MODE_READWRITE);
      OutputStream tmp = (OutputStream)vRes.setBinaryStream(1L);
      tmp.write(out.toByteArray());
      tmp.flush();
      tmp.close();
      vRes.close();
      
      return vRes;
   }
}
...
Рейтинг: 0 / 0
Java Archive
    #39650020
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PasticНе по джаве, а по яве.Первые книжки по джаве на русском языке писали/переводили курильщики и мотоциклисты. Сейчас во вменяемых текстах оригинальные наименования пишут оригинальной латиницей.
Есть ли при РАН отдел, занимающийся фонетической стандартизацией заимствований, я не в курсе и посему при произнесении вслух английских терминов, а также, когда лень переключать раскладку, коверкаю латиницу на свой вкус и цвет. Например, partition предпочитаю произносить как партиция.
А вот в некоторых бухгалтерских документах, в наименовании российских юрлиц и торговых марок, где допускается только кириллица, встречаю исключительно "джава" и "партишен".
...
Рейтинг: 0 / 0
Java Archive
    #39650025
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-PasticНе по джаве, а по яве.Первые книжки по джаве на русском языке писали/переводили курильщики и мотоциклисты. Сейчас во вменяемых текстах оригинальные наименования пишут оригинальной латиницей.
Есть ли при РАН отдел, занимающийся фонетической стандартизацией заимствований, я не в курсе и посему при произнесении вслух английских терминов, а также, когда лень переключать раскладку, коверкаю латиницу на свой вкус и цвет. Например, partition предпочитаю произносить как партиция.
А вот в некоторых бухгалтерских документах, в наименовании российских юрлиц и торговых марок, где допускается только кириллица, встречаю исключительно "джава" и "партишен".

Английское название языка программирования java произошло от сорта кофе, который родом с островов яванского моря, которое по-английски называется "Java Sea". Поэтому логично по-русски называть этот язык программирования явой. И курильщики с мотоциклистами тут не при чём.
...
Рейтинг: 0 / 0
Java Archive
    #39650032
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я иначе как "жабой" его и произносить стесняюсь
Да на большее он и не тянет -- самая большая наебка 20 века
...
Рейтинг: 0 / 0
Java Archive
    #39650119
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasticлогично по-русскиВ русском за сотни лет столько понамешено, что о логичности заикаться не стоит. Вряд ли тебя будут воспринимать адекватно, если болельщику ПСЖ вместо Пари Сен-Жермен будешь говорить Пари ж Сен-Жермен.
...
Рейтинг: 0 / 0
Java Archive
    #39651158
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
create or replace and compile java source named "JZip" as
import java.io.*;
import java.sql.*;
import java.util.zip.*;
import oracle.sql.CLOB;
import oracle.sql.BLOB;
import oracle.jdbc.*;

public class JZip
{ 
   public BLOB AddToArchive(BLOB pArchive, String pFileName, CLOB pFile) throws Exception
   {  ByteArrayOutputStream out = new ByteArrayOutputStream((int)pArchive.length());
      out.write(pArchive.getBytes(), 0, (int)pArchive.length());

      // Добавление файла в архив
      ZipOutputStream zip = new ZipOutputStream(out);
      zip.putNextEntry(new ZipEntry(pFileName));
      zip.write(pFile.getBytes(), 0, (int)pFile.length());
      zip.closeEntry();
      zip.flush();
      zip.close();
      
      // Преобразование out в BLOB
      Connection conn = new OracleDriver().defaultConnection();
      BLOB vRes = BLOB.createTemporary(conn, false, BLOB.DURATION_SESSION);
      vRes.open(BLOB.MODE_READWRITE);
      OutputStream tmp = (OutputStream)vRes.setBinaryStream(1L);
      tmp.write(out.toByteArray());
      tmp.flush();
      tmp.close();
      vRes.close();
      
      return vRes;
   }
}



При выполнении этого кода происходит ошибка java.lang.IndexOutOfBoundsException на строке
Код: java
1.
      zip.write(pFile.getBytes(), 0, (int)pFile.length());



При передаче объекта CLOB длиной 5052 байта (dbms_lob.getlength(vFile)) эта ошибка выскакивает даже в таком варианте:
Код: java
1.
      zip.write(pFile.getBytes(), 0, 50);



Как правильно считать длину объекта CLOB?
...
Рейтинг: 0 / 0
Java Archive
    #39651165
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Java Archive
    #39651177
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev...постарался бы в Oracle загрузить
https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/IOUtils.html


А каким образом Вы бы это сделали?
...
Рейтинг: 0 / 0
Java Archive
    #39651189
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AFAIK https://docs.oracle.com/en/database/oracle/oracle-database/18/jjdev/loadjava-tool.html

Но сам я НЕ пользовался. Для Oracle Server на Java НЕ разрабатываю
...
Рейтинг: 0 / 0
Java Archive
    #39651250
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oracle.sql.Datum.getBytes() возвращает sql-данные без преобразования и в случае клоба можно предположить локатор.
...
Рейтинг: 0 / 0
Java Archive
    #39651271
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-oracle.sql.Datum

Когда я создал переменную этого типа, то код не скомпилировался из-за ошибки
oracle.sql.Datum is abstract; cannot be instantiated

А когда я пытался преобразовать переменную типа CLOB к Datum, то текст ошибки изменился на следующий:
inconvertible types
...
Рейтинг: 0 / 0
Java Archive
    #39651278
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрю в JavaDoc и в упор НЕ вижу документированного метода getBytes у интерфейса Clob.

Если вызывать черти какие методы, полученные не чтением документации, а методом научного тыка... то и результат будет соответствующий. IMHO

https://docs.oracle.com/javase/7/docs/api/java/sql/Clob.html
...
Рейтинг: 0 / 0
Java Archive
    #39651283
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А oracle'овый класс
http://download.oracle.com/otn_hosted_doc/jdeveloper/905/jdbc-javadoc/oracle/sql/CLOB.html
как раз использует getBytes из Datum
http://download.oracle.com/otn_hosted_doc/jdeveloper/905/jdbc-javadoc/oracle/sql/Datum.html#getBytes()

Create a new Java byte array containing a copy of the RDBMS data. No conversions of any kind are done.
Что-то, какие данные, одному Oracle ведомо.

IMHO
...
Рейтинг: 0 / 0
Java Archive
    #39651320
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alientСоздаем класс add

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
import java.awt.*;
import java.applet.*;
import java.lang.*;
public class add {
public static void archiv(String zipFileName, String fileName) throws IOException {
       File zipFile = new File(zipFileName);
       File tmpFile = File.createTempFile("zip", "tmp");
       File newFile = new File(fileName);
       byte[] buffer = new byte[8192];
       int readed;
       ZipOutputStream zipOutputStream = new ZipOutputStream(
           new BufferedOutputStream(
               new FileOutputStream(tmpFile)));
       try {
           if (zipFile.exists()) {
               ZipInputStream zipInputStream = new ZipInputStream(
                   new BufferedInputStream(
                       new FileInputStream(zipFile)));
               try {
                   ZipEntry entry;
                   while ((entry = zipInputStream.getNextEntry()) != null){
                       if (entry.getName().equals(newFile.getName())) {
                           continue;
                       }
                       ZipEntry newEntry = new ZipEntry(entry);
                       zipOutputStream.putNextEntry(newEntry);
                       while ((readed = zipInputStream.read(buffer)) > 0) {
                           zipOutputStream.write(buffer, 0, readed);
                       }
                       zipOutputStream.closeEntry();
                   }
               }
               finally {
                   zipInputStream.close();
               }
           }
           InputStream fileInputStream = new BufferedInputStream(
               new FileInputStream(newFile));
           try {
               /*System.out.printf("Adding %s\n", fileName);*/
               ZipEntry newEntry = new ZipEntry(newFile.getName());
               newEntry.setSize(newFile.length());
               newEntry.setTime(newFile.lastModified());
               zipOutputStream.putNextEntry(newEntry);
               while ((readed = fileInputStream.read(buffer)) > 0) {
                   zipOutputStream.write(buffer, 0, readed);
               }
               zipOutputStream.closeEntry();
           }
           finally {
               fileInputStream.close();
           }
       }
       finally {
           zipOutputStream.close();
       }
       if (zipFile.exists()) {
           zipFile.delete();
       }
       tmpFile.renameTo(zipFile);
   }
}


Терь создаем процедуру

Код: plsql
1.
2.
3.
4.
PROCEDURE ADD1 (zipFileName  IN  VARCHAR2,
               fileName    IN  VARCHAR2) 
as language java 
name 'add.archiv(java.lang.String, java.lang.String)';


И теперь вызов на сервере

exec add1('c:\test\input\d09_03.zip','c:\test\input\d09_03.dbf'); делает нам архив ну разархиривоние примерно в таком же духе - ява опять таки рулит!

Попробовал. Получил сообщение об ошибке ORA-29532: Java call terminated by uncaught Java exception: java.lang.SecurityException: Unable to create temporary file.

Поискал в интернете. Нашёл следующее :

Connected to:
Personal Oracle9i Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production

SQL>
SQL> connect scott/tiger
Connected.
SQL> begin
2 dbms_java.grant_permission('SCOTT','java.io.FilePermission','C:\TE MP','read,write,execute,dele
te');
3 end;
4 /
begin
*
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception: java.lang.SecurityException: policy table update SYS:java.io.FilePermission,
C:\TEMP
ORA-06512: at "SYS.DBMS_JAVA", line 0
ORA-06512: at line 2

SQL> connect sys/change_on_install_at_sans as sysdba Connected.

SQL> call dbms_java.grant_policy_permission('SCOTT','SYS','java.io.FilePermission','*');

Call completed.

SQL> connect scott/tiger
Connected.
SQL> begin
2 dbms_java.grant_permission('SCOTT','java.io.FilePermission','C:\TEMP','read,write,execute,dele
te');
3 end;
4 /

PL/SQL procedure successfully completed.


Выполнил dbms_java.grant_policy_permission(<имя схемы>,'SYS','java.io.FilePermission','*');

Не помогло.
...
Рейтинг: 0 / 0
Java Archive
    #39651423
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взял на себя смелость отформатировать ваше сообщение ...PasticПолучил сообщение об ошибке
Код: plaintext
1.
2.
ORA-29532:
 Java call terminated by uncaught Java exception:
  java.lang.SecurityException: Unable to create temporary file.
...
Не помогло.Если выдавать произвольные права на произвольные объекты, конечно не поможет:
Код: plaintext
1.
 java -XshowSettings:properties -version 2>&1|find ".tmp"
    java.io.tmpdir = Здесь\Реальный\Путь\Временного\Каталога
Или запросите системное значение свойства java.io.tmpdir или установите его в своём коде, чтобы выдать права на нужный объект.

Ну и, насколько я понимаю, права будут выдаваться не напрямую объекту файловой системы, а связанному с ним объекту directory RDBMS.
...
Рейтинг: 0 / 0
22 сообщений из 47, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Java Archive
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]