|
|
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
alientА адаптировать для файловой системы? Мне в блобы не приходилось помещать архивы- в каких случаях это приходится делать? э-э-э... пакет выложен "as is", никому не навязывается и доработка по заявкам телезрителей не планируется... Я просто им поделился с Вами... Если Вам необходима от него дополнительная функциональность - можете допилить его как Вам заблагорассудится (только тогда желательно ниже строчек "-- author" сделать пометку о том, что пакет доработан не мною... Но если очень хочется работать с зипами, лежащими в файловой системе (сервера, разумеется), то советую пошукать в документации описание функции BFILENAME, а также процедуры loadblobfromfile пакета dbms_lob и пакет utl_file - жизнь наладится.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2010, 15:04 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
Код: 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. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2010, 17:29 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
alient, +1 спс берем в копилку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2010, 17:53 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
Мне нужно помещать в архив куски текста, генерируемые на PL/SQL (Oracle 11g). Я пытаюсь сделать это так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. При компиляции выдаётся сообщение "Compiled with errors". Код: plsql 1. выдаёт следующее: 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. то тогда получаю вот такие ошибки: 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 Как можно решить эту проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2018, 10:59 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
PasticКак можно решить эту проблему?Окончить курсы по джаве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2018, 11:08 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
-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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2018, 15:45 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
Pastic // Преобразование out в CLOB Одному мне кажется, что сохранять Zip файл в C LOB совершенно НЕ лучшая идея. А в чем-то, даже, смахивает на диверсию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2018, 15:49 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2018, 16:11 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
PasticНе по джаве, а по яве.Первые книжки по джаве на русском языке писали/переводили курильщики и мотоциклисты. Сейчас во вменяемых текстах оригинальные наименования пишут оригинальной латиницей. Есть ли при РАН отдел, занимающийся фонетической стандартизацией заимствований, я не в курсе и посему при произнесении вслух английских терминов, а также, когда лень переключать раскладку, коверкаю латиницу на свой вкус и цвет. Например, partition предпочитаю произносить как партиция. А вот в некоторых бухгалтерских документах, в наименовании российских юрлиц и торговых марок, где допускается только кириллица, встречаю исключительно "джава" и "партишен". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2018, 16:33 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
-2-PasticНе по джаве, а по яве.Первые книжки по джаве на русском языке писали/переводили курильщики и мотоциклисты. Сейчас во вменяемых текстах оригинальные наименования пишут оригинальной латиницей. Есть ли при РАН отдел, занимающийся фонетической стандартизацией заимствований, я не в курсе и посему при произнесении вслух английских терминов, а также, когда лень переключать раскладку, коверкаю латиницу на свой вкус и цвет. Например, partition предпочитаю произносить как партиция. А вот в некоторых бухгалтерских документах, в наименовании российских юрлиц и торговых марок, где допускается только кириллица, встречаю исключительно "джава" и "партишен". Английское название языка программирования java произошло от сорта кофе, который родом с островов яванского моря, которое по-английски называется "Java Sea". Поэтому логично по-русски называть этот язык программирования явой. И курильщики с мотоциклистами тут не при чём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2018, 16:43 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
А я иначе как "жабой" его и произносить стесняюсь Да на большее он и не тянет -- самая большая наебка 20 века ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2018, 16:50 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
Pasticлогично по-русскиВ русском за сотни лет столько понамешено, что о логичности заикаться не стоит. Вряд ли тебя будут воспринимать адекватно, если болельщику ПСЖ вместо Пари Сен-Жермен будешь говорить Пари ж Сен-Жермен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2018, 19:26 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
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. При выполнении этого кода происходит ошибка java.lang.IndexOutOfBoundsException на строке Код: java 1. При передаче объекта CLOB длиной 5052 байта (dbms_lob.getlength(vFile)) эта ошибка выскакивает даже в таком варианте: Код: java 1. Как правильно считать длину объекта CLOB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2018, 16:01 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
Я бы не мучался, а постарался бы в Oracle загрузить https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/IOUtils.html Там есть замечательная ф-ция: https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/IOUtils.html#copy(java.io.InputStream, java.io.OutputStream, int) IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2018, 16:09 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev...постарался бы в Oracle загрузить https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/IOUtils.html А каким образом Вы бы это сделали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2018, 16:26 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
AFAIK https://docs.oracle.com/en/database/oracle/oracle-database/18/jjdev/loadjava-tool.html Но сам я НЕ пользовался. Для Oracle Server на Java НЕ разрабатываю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2018, 16:38 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
oracle.sql.Datum.getBytes() возвращает sql-данные без преобразования и в случае клоба можно предположить локатор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2018, 17:24 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
-2-oracle.sql.Datum Когда я создал переменную этого типа, то код не скомпилировался из-за ошибки oracle.sql.Datum is abstract; cannot be instantiated А когда я пытался преобразовать переменную типа CLOB к Datum, то текст ошибки изменился на следующий: inconvertible types ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2018, 17:50 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
Смотрю в JavaDoc и в упор НЕ вижу документированного метода getBytes у интерфейса Clob. Если вызывать черти какие методы, полученные не чтением документации, а методом научного тыка... то и результат будет соответствующий. IMHO https://docs.oracle.com/javase/7/docs/api/java/sql/Clob.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2018, 17:56 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
А 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2018, 17:59 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
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. Терь создаем процедуру Код: plsql 1. 2. 3. 4. И теперь вызов на сервере 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','*'); Не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2018, 19:23 |
|
||
|
Java Archive
|
|||
|---|---|---|---|
|
#18+
Взял на себя смелость отформатировать ваше сообщение ...PasticПолучил сообщение об ошибке Код: plaintext 1. 2. Не помогло.Если выдавать произвольные права на произвольные объекты, конечно не поможет: Код: plaintext 1. Ну и, насколько я понимаю, права будут выдаваться не напрямую объекту файловой системы, а связанному с ним объекту directory RDBMS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2018, 03:11 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=36796237&tid=1883927]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
181ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 513ms |

| 0 / 0 |
