|
|
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
just_vladimirInsane_1990, а чем getCharacterStream не подходит? В самый край можно и deprecated метод getUnicodeStream, если нужен именно InputStream. А так по идее CharacterStream для CLOB, BinaryStream для BLOB и все замечательно. Ему нужно в бинарное хранилище поместить. Говорит что долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 11:59:39 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Кстати интересно. Нужно взять CLOB в Oracle RDBMS и поместить в LOB в Oracle NoSQL. Возникает вопрос. Зачем тут JDBC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 12:00:25 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, а как иначе мне связываться с базой реляционной? =) я беру ведь не только LOB из РБД, а то, что выберет пользователь. с BLOB все хорошо, там Binary Stream, там байты, и в хранилище записываются байты. Если использовать CharacterStream, то это будет дольше чем обычный бинарный, потому что все равно в NoSQL хранятся байты, и будет происходить та же конвертация в байты символов...проще конечно же сразу получать поток байтов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 12:05:14 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Insane_1990Если использовать CharacterStream, то это будет дольше чем обычный бинарный, потому что все равно в NoSQL хранятся байты, и будет происходить та же конвертация в байты символов...проще конечно же сразу получать поток байтов. Вы меряли? Реально дольше просто вычитать текст? Только не вычитывайте в String, заверните в BufferedReader и вычитайте посимвольно. Действительно ли сильно дольше в сравнении с BLOB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 12:08:45 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Insane_1990, 1. А с getUnicodeStream то работает все таки или нет? 2. Как часто выполняются эти операции, какие объемы данных, уверены, что не занимаетесь экономией на спичках, пытаясь работать именно с BinaryStream ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 12:09:08 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
just_vladimir, метод getUnicodeStream выдал ошибку: getUnicodeStream not implemented for class oracle.jdbc.driver.T4CClobAccessor. по поводу быстроты переноса, сейчас отпишусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 12:18:04 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, смотрите, как я сделал обычные методы, без getBinaryStream. Я просто смотрю какой тип столбца, и в зависимости от этого делаю поток: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Support.ParseKey.ParseValue - метод, который преобразует текст в байты, и возвращает уже набор байт.... возможно я тут делаю что то лишнее, потому так долго. Но могу сказать одно, сейчас вот программа работает. Когда идет binaryStream - записывается примерно по 4000 в секунду, сейчас же - максимум по 30 в секунду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 12:28:11 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Insane_1990, Ещё бы. Я же говорил выше не используйте ничего связаного со String. ByteArray*Stream тоже не нужен. Берете вот это класс http://commons.apache.org/proper/commons-io/javadocs/api-release/index.html?org/apache/commons/io/input/package-summary.html и для CLOB получаете InputStream вот так: new ReaderInputStream(new BufferedReader(resultSet.getCharacterStream(2))); Далее от работы с BLOB ничем не отличается. Вы же вместо этого читаете целиком всё в память. Зачем??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 12:34:30 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Спасибо большое! Теперь посыпались ислючения Java heap space... =( И все же, интересно что не так с binaryStream ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 13:01:57 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Insane_1990Спасибо большое! Теперь посыпались ислючения Java heap space... =( Раньше не было??? Insane_1990И все же, интересно что не так с binaryStream Где-то внутри драйвера, или даже на уровне базы, он пытается текст интерпретировать в ASCII или другой 8-битной кодировке. При этом в UTF он видит символы вне ASCII range и заменяет их вопросами. В общем, это лучше уже оракловедов пинать. Это, кстати, наводит на мысль что данные уже имеются в виде текста, а getBinaryStream читает именно текст. Поэтому никакого прироста к производительности он не даст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 13:06:57 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, нет, раньше не было... сейчас пишет: Exception in thread "Thread-5" Exception in thread "Thread-9" java.lang.OutOfMemoryError: Java heap space Exception in thread "Thread-17" java.lang.OutOfMemoryError: Java heap space Exception in thread "Thread-11" java.lang.OutOfMemoryError: Java heap space Exception in thread "Thread-7" java.lang.OutOfMemoryError: Java heap space Exception in thread "Thread-21" java.lang.OutOfMemoryError: Java heap space на моменте Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 13:13:14 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, хммм... убрал new BufferedReader. оставил просто ris = new ReaderInputStream(getkeyResultSet.getCharacterStream(2)); стало все окей...325 000 CLOB за 1 минуту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 13:19:29 |
|
||
|
Проблемы с кодировкой в java
|
|||
|---|---|---|---|
|
#18+
Insane_1990, Странно. Кстати, в доке написано BufferedReader не нужен. Читали? Там внутри и так есть буфер на 1024 по-умолчанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2013, 13:19:32 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38283481&tid=2129237]: |
0ms |
get settings: |
14ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 322ms |
| total: | 505ms |

| 0 / 0 |
