|
|
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Требуется помощь зала... Прочитал все здесь по этой теме. Но ответа на свою проблему не нашел. Есть два экземпляра oracle 10.2.0.5 На одном все работает как часы. На другом кроме Date все остальные значения на стороне базы получаю как null.... java 7 .79 тонкий драйвер оракла ojdbc6.jar от oracle 11.2 Использовал варианты передачи - набор одноразмерных массивов Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. пытался через объекты (структуры) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. пытался и через VARRAY результат один - на одном сервере все OK на втором кроме дат все остальное = null. основные части java-кода для варианта через одноразмерные массивы Код: 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. 36. для варианта через массивы объектов Код: 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. вариант для varray аналогичен варианту с одноразмерными массивами, только в оракловую процедуру передаю еще один праметр - кол-во заполненных элементов. т.ч. я этот вариант здесь не привожу... допускаю, что дело не в самих массивах, а в чем то еще. Куда копать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 13:40 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
добавлю, чтобы не было сомнений - через обычный insert все работает. т.ч. данные посылаются не null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 14:01 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Igor-65Есть два экземпляра oracle 10.2.0.5 На одном все работает как часы. Дело в конфе второго экземпляра Оракла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 14:42 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Позволю себе предположить, что, может быть, дело в VARCHAR2 и в размерности, которая указывается либо в byte, либо в char, и в параметре NLS_LENGTH_SEMANTICS, который меняет the default behavior from BYTE to CHAR. Может, поэтому текст не помещается и остается null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 15:15 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
там, где помещается, char а где не помешается byte ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 15:18 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Видимо, не в этом дело. MSISDN и MNC - это точно цифры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 16:14 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Похоже я это уже где-то видел: http://www.sql.ru/forum/1074235/oracle-plsql-vozvrat-table-of?hl=java array ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 16:37 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Наверное, надо взять какого-нибудь другого клиента (например, PL/SQL Developer) и потестировать хранимку, если есть подозрения, что дело не в сервере, а в клиенте. Хотя автор темы пишет, что с его клиентом один сервер работает, а другой - нет. И что insert, как я поняла, в обоих случаях срабатывает нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 17:17 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
там все либо цифры либо латиница ... и опять таки.. да простой insert работает ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 19:21 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Igor-65, сама хранимка рабочая? Без Java кода. С любым сервером работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 19:25 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevПохоже я это уже где-то видел: http://www.sql.ru/forum/1074235/oracle-plsql-vozvrat-table-of?hl=java array ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 19:26 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Igor-65Leonid KudryavtsevПохоже я это уже где-то видел: http://www.sql.ru/forum/1074235/oracle-plsql-vozvrat-table-of?hl=java array промахнулся ... Леонид, в ветке, на которую ты отправляешь проблема с кодировкой.. Данные там передавались. У меня же передаются не null, а приходят null... Все, кроме даты. В другом наборе есть и number. Но тоже приходит null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 19:31 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
yelenaIgor-65, сама хранимка рабочая? Без Java кода. С любым сервером работает? Лена, я не понял вопроса. Если речь о процедуре, то проверка на null сразу дает exception на "плохом" сервере. Код: 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. все остальное на этом сервере работает замечательно. все, что писано на c с использованием proc c (загрузка данных) c использованием массивов работает нормально. передача коллекций между процедурами внурти данного "плохого" инстанса также работает номально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 19:46 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Igor-65, а я не понимаю, почему вы меня не понимаете. Обычно, прежде чем обращаться к хранимке из своего Java кода, хранимку тестируют в среде, в которой она разрабатывалась. Вот хоть PL/SQL Developer не на Java написан. Я хочу понять, где проблема. Если с этого клиента запрос дойдет до хранимки на любом сервере и нормально выполнится, то проблема клиента, написанного на Java. Тогда можно взять другого клиента - SQL Developer - он написан на Java. И если из него запрос дойдет до хранимки и нормально выполнится, то проблема уже у вашего клиента и что-то с драйвером. Так понятнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 19:53 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Igor-65, Leonid дал возможно решение,так orai18n.jar есть в classpath? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2015, 22:31 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
0FDIgor-65, Leonid дал возможно решение,так orai18n.jar есть в classpath? я использую дрова от 11. смотри первое письмо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2015, 01:15 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
yelenaIgor-65, а я не понимаю, почему вы меня не понимаете. Обычно, прежде чем обращаться к хранимке из своего Java кода, хранимку тестируют в среде, в которой она разрабатывалась. Вот хоть PL/SQL Developer не на Java написан. Я хочу понять, где проблема. Если с этого клиента запрос дойдет до хранимки на любом сервере и нормально выполнится, то проблема клиента, написанного на Java. Тогда можно взять другого клиента - SQL Developer - он написан на Java. И если из него запрос дойдет до хранимки и нормально выполнится, то проблема уже у вашего клиента и что-то с драйвером. Так понятнее? сейчас буду что-то придумывать.. в качестве клиента выступает солярка... и на другом сервере только один инстанс базы. доп инфа: я дезинформировал. number передается нормально. осталась проблема с varchar2. причем, при использовании в качестве клиента другой сервер и java 6 (7-ка там не уживается) результат аналогичен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2015, 01:31 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Igor-650FDIgor-65, Leonid дал возможно решение,так orai18n.jar есть в classpath? я использую дрова от 11. смотри первое письмо. А что значит: я использую дрова от 11? Это только ojdbc6.jar или ojdbc6.jar и orai18n.jar всегда? Где у вас написано? Так orai18n.jar есть в classpath? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2015, 08:51 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Igor-65Есть два экземпляра oracle 10.2.0.5 А Oracle прям Oracle Database или Oracle XE? А на втором сервере точно нет другой процедуры с таким же именем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2015, 09:26 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
0FDIgor-65пропущено... я использую дрова от 11. смотри первое письмо. А что значит: я использую дрова от 11? Это только ojdbc6.jar или ojdbc6.jar и orai18n.jar всегда? Где у вас написано? Так orai18n.jar есть в classpath? а есть ли orai18n.jar в составе библиотек 11 клиента ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2015, 15:48 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
Igor-65, или в jlib клиента oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2015, 16:18 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
GarrickIgor-65Есть два экземпляра oracle 10.2.0.5 А Oracle прям Oracle Database или Oracle XE? А на втором сервере точно нет другой процедуры с таким же именем? "прям Oracle Database" нет другой процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2015, 16:20 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
yelenaIgor-65, http://www.oracle.com/technetwork/apps-tech/jdbc-112010-090769.html :) вот где собака порылась... странно, что эту jar-ку в установленном у меня клиенте я нашел в /jlib а не в /jdbc считал, что это "спрятано" в ojdbc6.jar. когда использовал клиента от 10-ки и ниже - то это все лежало, вроде в /jdbc. Но могу и ошибаться.. Лена, спасибо ! 0FD : мои извинения ! Вечером попробую подцепить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 12:01 |
|
||
|
java ARRAY -> oracle
|
|||
|---|---|---|---|
|
#18+
почитал внимательней по поводу orai18n.jar " It contains classes for NLS support in Oracle Object and Collection types." тогда не удивительно, что не проходило... Вечером проверю. Но уже уверен, что все будет в порядке :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 12:45 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=125&tid=2125215]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 291ms |

| 0 / 0 |
