|
|
|
Oracle, JDBC: Проблема чтения CRLF из LONG-а
|
|||
|---|---|---|---|
|
#18+
JDBC: Проблема чтения CRLF из LONG-а Кратко: Не могу прочитать из LONG-а ВКПС (CRLF) символы, читается только LF (10). Системная инфа: -клиент- * JDBC driver type = THICK (OCI) * JDBC driver version = 10.2.0.1.0 * JDK version = 1.4 * Platform = MS Windows Server 2000 Prof -Сервер- * DB Server = 9.2.0.7 * Platform = MS Windows Server 2003 EE Развернуто: Если в поле ЛОНГ ( Код: plaintext Код: plaintext Если данные отредактировать PL/SQL Developer-ом (вставить «Enter» в конце данных в LONG-е), то данные буду читать полностью только в PL/SQL Developer-е. Если прочитать из Java, то приедут только LF символы (не одного CR символа - chr(13) ). Кусок Java кода : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Пробовал как Thin, так OCI драйвера. Написал запрос на metalink 4966383.992 . Там говорят – ничего не понимаем – давай выйдем тебе на комп и посмотрим (у меня пока не выходит – что то с авторизацией) Кто нибудь сталкивался? Есть варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 13:54 |
|
||
|
Oracle, JDBC: Проблема чтения CRLF из LONG-а
|
|||
|---|---|---|---|
|
#18+
S.Isaev Если данные отредактировать PL/SQL Developer-ом (вставить «Enter» в конце данных в LONG-е), то данные буду читать полностью только в PL/SQL Developer-е. Если прочитать из Java, то приедут только LF символы (не одного CR символа - chr(13) ) ИМХО это проблемы собственно PL/SQL Developer'а, а не Oracle, раз он так интерпретирует пользовательский ввод. Кстати, SQLNavigator 5.0 вставляет CRLF. Опять же, несколько аспектов: - для Windows правильным считается CRLF. - для *nix - LF (что произойдет, если данные в базе будет менять приложение на *nix?). - Oracle в своем хранимом коде (процедуры, триггера и т.д) в качестве разделителя строк использует только LF независимо от платформы, т.е. и на Windows тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 14:27 |
|
||
|
Oracle, JDBC: Проблема чтения CRLF из LONG-а
|
|||
|---|---|---|---|
|
#18+
Понял в чем дело. Разослал ссылку своим знакомым и тут решил сам подумать :) Нашел у Том Кайта вопрос Trimming special Characters и решил попробовать функцию dump - она и расставила все точки на i. Добавил поле varchar2, так как dump не работает от LONG-а, и провел на нем эксперимент. Код: plaintext Функция выдает ответ вида: Код: plaintext Оказалось, что PL/SQL Developer и компоненты DOA при вставке в ЛОНГ и в VARCHAR2 (и видимо во все текстовые поля) убирают при вставке лишние, по их мнению, символы CR (chr(13)) из пары CRLF, и добавляют их при чтении символа LF (chr(10)). Всем спасибо! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 15:25 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33441099&tid=2150661]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
272ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 568ms |

| 0 / 0 |
