|
|
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Asparov Timm AsparovВ программе требуется одновременная поддержка Oracle 7.3 и 10.2 включая и девятку естесственно. Отмазывайтесь от этого щастья. Ограничтесь хотя б 8i - 10g. Поддерживать в приложении фактически desupported версию Оракла это страшно :) согласен что это самый простой и оптимальный выход, но к сожалению он не подходит, т.к. как хозяин барин, ну надо им использовать семерку и никуда от этого не деться, и то что она уже не суппортится это не довод, наверное у них все основные базы заточены под семерку уже много лет они пользуются и видимо все этим довольны ( хотя я сам прекрасно понимаю что это страшно, но тем не менее... Даже это - не самый простой выход. Между 8.1.7.4 и 10.2.0.3 пять лет и несколько сотен МБ документации :) В общем, попробуйте то что написал Денис, и если не получится - то без ограничений никак. + все же не стОит добиваться работы драйвера на "чистом" JDBC API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 18:08:45 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Denis Popov Asparovк сожалению не работает, вылетает ошибка, вот что пишут по этому поводу Цитата отсюда? http://technology.amis.nl/blog/?p=1385#comment-142898 ...If you try to connect to an Oracle 7.2.3 DB using the newest version of the JDBC drivers, you’ll get an ORA-01010 error: “invalid OCI operation”. Заметь, Oracle 7.2.3, а у тебя: AsparovВ программе требуется одновременная поддержка Oracle 7.3 и 10.2 включая и девятку естесственно. причем следующий комментарий по этой сылке: http://technology.amis.nl/blog/?p=1385#comment-144881 You should at least upgrade to 7.3.4... Так что имхо еще не все потеряно, как минимум стОит попробовать самому, причем в двух вариантах, через OCI- и THIN-версии драйверов. Дело в том что протестить то можно будет оно работать или нет у меня, но не факт что эти драйвера будут полностью корректно работать с Ораклом пользователей, а наблюдать потом кучу багов особо желания нет. Меня вот еще смутило что по данной ссылочке http://www.stanford.edu/dept/itss/docs/oracle/10g/java.101/b10979/getsta.htm написано следующее 2.1.1 Backward Compatibility The JDBC drivers are certified to work with the currently supported versions of the database. (You can find a complete up-to-date list of supported databases at http://metalink.oracle.com, Note 203849.1.) For example, the 10g Release 1 (10.1) JDBC Thin drivers are certified to work with the 9.2.x, 9.0.1.x, and 8.1.7 database releases. The 10g Release 1 (10.1) JDBC thin drivers are not certified to work with older, unsupported database releases, such as 8.0.x and 7.x. Т.е. драйвера для десятки не сертифицируются для 8ки и 7ки т.е. вполне возможна некорректная работа. Есть какая нибудь ссылка где ясно и оффициально написано что последний оракловский драйвер должен работать с 7.3 версией чтоб я мог эту информацию показать заказчику и объяснить ему что он со своей идеей не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 18:12:48 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Timm Asparov Timm AsparovВ программе требуется одновременная поддержка Oracle 7.3 и 10.2 включая и девятку естесственно. Отмазывайтесь от этого щастья. Ограничтесь хотя б 8i - 10g. Поддерживать в приложении фактически desupported версию Оракла это страшно :) согласен что это самый простой и оптимальный выход, но к сожалению он не подходит, т.к. как хозяин барин, ну надо им использовать семерку и никуда от этого не деться, и то что она уже не суппортится это не довод, наверное у них все основные базы заточены под семерку уже много лет они пользуются и видимо все этим довольны ( хотя я сам прекрасно понимаю что это страшно, но тем не менее... Даже это - не самый простой выход. Между 8.1.7.4 и 10.2.0.3 пять лет и несколько сотен МБ документации :) В общем, попробуйте то что написал Денис, и если не получится - то без ограничений никак. + все же не стОит добиваться работы драйвера на "чистом" JDBC API. А можете конкретно как нибудь объективно объяснить почему на "чистом" JDBC API это нереально. Хотя бы один конкретный пример почему это невозможно. Просто сказать заказчикам что это глупо или нереально это ничего не сказать, надо аргументировать это как нибудь. Просто на самом деле я не спец по OJDBC драйверам и пользовался всегда стандартными схемами реализации работы с базой данных включая и использование OJDBC драйвера, но как загвоздка появляется невозможность поддерживать (как утверждают заказчики) версии Оракла. Я конечно могу протестить и получить саксессфул результаты, но тем не менее для этого нужна дополнитильно аргументированная информация о том что либо это невозможно либо возможно но с такими то условиями. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 18:20:56 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
AsparovТ.е. драйвера для десятки не сертифицируются для 8ки и 7ки т.е. вполне возможна некорректная работа. Есть какая нибудь ссылка где ясно и оффициально написано что последний оракловский драйвер НЕ должен работать с 7.3 версией чтоб я мог эту информацию показать заказчику и объяснить ему что он со своей идеей не прав? Ссылки на металинк - чем не официально? AsparovА можете конкретно как нибудь объективно объяснить почему на "чистом" JDBC API это нереально Не то чтоб нереально. Могут быть not implemented/custom features, например работа с LOB'ами - это "оно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 18:29:33 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Timm AsparovТ.е. драйвера для десятки не сертифицируются для 8ки и 7ки т.е. вполне возможна некорректная работа. Есть какая нибудь ссылка где ясно и оффициально написано что последний оракловский драйвер НЕ должен работать с 7.3 версией чтоб я мог эту информацию показать заказчику и объяснить ему что он со своей идеей не прав? Ссылки на металинк - чем не официально? что за ссылки на металинк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 18:36:27 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Asparov 2.1.1 Backward Compatibility The JDBC drivers are certified to work with the currently supported versions of the database. ( You can find a complete up-to-date list of supported databases at http://metalink.oracle.com, Note 203849.1. ) For example, the 10g Release 1 (10.1) JDBC Thin drivers are certified to work with the 9.2.x, 9.0.1.x, and 8.1.7 database releases. The 10g Release 1 (10.1) JDBC thin drivers are not certified to work with older, unsupported database releases, such as 8.0.x and 7.x. Т.е. драйвера для десятки не сертифицируются для 8ки и 7ки т.е. вполне возможна некорректная работа. Есть какая нибудь ссылка где ясно и оффициально написано что последний оракловский драйвер должен работать с 7.3 версией чтоб я мог эту информацию показать заказчику и объяснить ему что он со своей идеей не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 18:38:39 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Asparov wrote: > Т.е. драйвера для десятки не сертифицируются для 8ки и 7ки т.е. вполне > возможна некорректная работа. Есть какая нибудь ссылка где ясно и > оффициально написано что последний оракловский драйвер должен работать с > 7.3 версией чтоб я мог эту информацию показать заказчику и объяснить ему > что он со своей идеей не прав? По-моему наоборот, последние JDBC-драйвера не сертифицируются и не будут сертифицироваться (т.е. может не работать) со старыми версиями БД, и никто не обещает их корректной работы. Тем более с 7.3, слишком давно это было. http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#100_00 https://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&id=203849.1 https://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&id=401934.1 Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 18:44:25 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Denis Popov Asparov wrote: > 2)to replace oracle.sql.BLOB/CLOB with java.sql.Blob/Clob Java декларирует интерфейсы, разработчика драйверов их реализуют. То, что ты будешь использовать в коде java.sql.Clob вместо oracle.sql.CLOB, совсем не значит, что oracle.sql.CLOB не будет использоваться вообще. Будет, но неявно. Posted via ActualForum NNTP Server 1.4 Сразу не обратил внимание на неявность. А можно поподробней? При сегодняшней попытке реализовать сие получил следующее: Для коннекта к Ораклу насколько я понимаю в любом случае придется использовать оракловский драйвер и без него как я понял никак. Далее насколько я понял если я использую стандартную java.sql.* все методы, в том числе setCharacterStream() (которым я заменил getCharacterOutputStream()) проходят через драйвер Оракла и я получил ошибку Код: plaintext 1. 2. 3. 4. 5. 6. т.е. получается что происходит какой то конфликт между стандартным setCharacterStream() и оракловским getCharacterOutputStream(). Т.е. получается что драйвер не особо то дружит со стандартными реализациями. Так вот, правильно ли я понял что в любом случае будет использовать oracle.sql.clob даже если у меня в классах только java.sql.clob? и насколько это может быть критично, точнее насколько они друг с другом стыкуются? P.S. к сожалению у меня нет доступа на металинк, можно ли цитаты в этот топик из линков постом выше? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 20:41:34 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
AsparovСразу не обратил внимание на неявность. А можно поподробней? Это как бы основы... Найди книжку Брюс Эккель Философия JAVA. Библиотека программиста , прочитай "Глава 8. Интерфейсы и внутренние классы". AsparovДля коннекта к Ораклу насколько я понимаю в любом случае придется использовать оракловский драйвер и без него как я понял никак. Да, можно лишь заметить, что теоретически к Ораклу можно ходить через JDBC-ODBC мост или JDBC-драйверы для Oracle от сторонних производителей, например . Но имхо для их использования нужны веские причины, обосновывающие невозможность использования родных драйверов. Asparov Код: plaintext 1. 2. 3. 4. 5. 6. CLOB.setCharacterStream() реализован в JDBC Oracle 10.2, скачать их можно с официального сайта , до этого стояла заглушка (интерфейс-то надо было как-то реализовавать), выкидывающая исключение. AsparovP.S. к сожалению у меня нет доступа на металинк, можно ли цитаты в этот топик из линков постом выше? Стукнись в мою почту, адрес в профиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2007, 12:03:33 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Я стал использовать последние оракловские драйвера для 10g в которых реализованы стандартные ява методы, но столкнулся со следующей проблемой на 'java.io.Writer out = oracleClob.setCharacterStream(0L);' вылетает следующая ошибка Код: plaintext 1. из за чего она может быть вызвана? а то я что то никак не разберусь( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 13:18:19 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
http://download-uk.oracle.com/docs/cd/B19306_01/java.102/b14355/oralob.htm#sthref857 Код: plaintext Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 13:31:26 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Ищи в classpath старые версии драйвера. тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 13:33:17 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
хм...проверил два раза, даже на всякий случай поудалял все старые драйвера полностью и заменил их на последние, эксепшн не исчезает ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 13:56:25 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Denis Popov http://download-uk.oracle.com/docs/cd/B19306_01/java.102/b14355/oralob.htm#sthref857 Код: plaintext не помогло...тем более в сурцах драйвера оракла Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. т.е. getCharacterOutputStream() заменяется на setCharacterStream(0L). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 14:32:28 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Тогда действительно надо разобраться с версией. Что показывает следующее? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 14:46:20 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Denis PopovТогда действительно надо разобраться с версией. Что показывает следующее? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Спасибо, разобрался с этим! данный вывод показал что использовались классы для девятки, я забыл заменить classes12.jar. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 14:57:38 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
А вот еще в тему такой вопрос, надеюсь последний. надо заменить метод empty_lob(); //Return a empty lob. An empty lob is used initialize a LOB column/attribute. Насколько я понимаю это можно реализовать через SQL запросы. Можете подсказать как именно это реализовать через запросы какой нибудь примерчик или ссылочка? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 15:44:06 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Насколько я знаю, если ты просто сделаешь empty_clob(), а потом попытаешься в него что-нибудь записать, то получишь java.sql.SQLException: ORA-22275: invalid LOB locator specified. Лечится записью его в поле таблицы и чтением LOB'а оттуда. А еще есть процедура createTemporary() в пакете DBMS_LOB. Можно использовать ее или empty_clob(), с упомянутой оговоркой, в своей оракловой процедуре, которую и использовать в Java. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 16:03:01 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Denis Popov Насколько я знаю, если ты просто сделаешь empty_clob(), а потом попытаешься в него что-нибудь записать, то получишь java.sql.SQLException: ORA-22275: invalid LOB locator specified. Лечится записью его в поле таблицы и чтением LOB'а оттуда. Posted via ActualForum NNTP Server 1.4 т.е. мне нужно создать какую нибудь таблицу в своей базе данных и в нее записать значение empty_clob(), а затем из своего приложения через селект вытягивать это значение? т.е. обязательно требуется создание заранее таблицы со значением если не использовать dbms_lob? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 16:16:05 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Asparov wrote: > т.е. мне нужно создать какую нибудь таблицу в своей базе данных и в нее > записать значение empty_clob(), а затем из своего приложения через > селект вытягивать это значение? Типа того, или в Оракле это можно сделать одним запросом: Код: plaintext 1. 2. 3. 4. 5. 6. > т.е. обязательно требуется создание > заранее таблицы со значением если не использовать dbms_lob? Да. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 17:12:23 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#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. то есть идет условие что если байты и оракл то BLOB oracleBlob = BLOB.empty_lob(); value=oracleBlob; иначе если стринги и оракла то value="BLOB"; Я не могу понять почему в первом случае создается пустой блоб для валуе а во втором стринговая переменная 'BLOB' Может быть можно сделать вместо BLOB oracleBlob = BLOB.empty_lob(); value=oracleBlob; =>> value=new BytesStore((byte[])"BLOB".getBytes()); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 16:29:23 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Ты про это? Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 16:52:59 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Denis PopovТы про это? Код: plaintext 1. 2. 3. 4. 5. 6. 7. нет, я не про это, мне бы без использования BLOB оракловского а только с Blob джавовским, я просто не понимаю зачем он там вообще создается BLOB blob = new BLOB.empty_lob(); может там можно как то без создания пустого блоба обойтись т.к. если данные поступают в стринг формати никакой пустой блоб не создается, он создается только если данные в байтах поступают. или это у меня в коде какая то бага? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 17:12:15 |
|
||
|
Вопрос по java.sql.Clob
|
|||
|---|---|---|---|
|
#18+
Asparov wrote: > нет, я не про это, мне бы без использования BLOB оракловского а только с > Blob джавовским, я просто не понимаю зачем он там вообще создается BLOB > blob = new BLOB.empty_lob(); может там можно как то без создания пустого > блоба обойтись Уже было: /topic/440063&pg=1#4262274 Напиши свой класс, реализующий интерфейс Blob и используй его в своем коде вместо оаклового. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 17:20:32 |
|
||
|
|

start [/forum/topic.php?fid=59&startmsg=34592827&tid=2145379]: |
0ms |
get settings: |
22ms |
get forum list: |
27ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
66ms |
get topic data: |
23ms |
get forum data: |
5ms |
get page messages: |
98ms |
get tp. blocked users: |
2ms |
| others: | 345ms |
| total: | 600ms |

| 0 / 0 |
