|
|
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
что то не получается законнектится вот файл dbAccess.java Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. запускаю под Linux составил небольшой скрипт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. на выходе CLASSPATH=/opt/oracle/product/10.1.0.3/lib:/opt/oracle/product/10.1.0.3/JRE:/opt/oracle/product/10.1.0.3/jlib:/opt/oracle/product/10.1.0.3/rdbms/jlib:.:/opt/oracle/product/10.1.0.3/jdbc/lib/ojdbc14.jar:/opt/oracle/product/10.1.0.3/jdbc/lib/nls_charset12.jar LANG=ru_RU.KOI8-R NLS_LANG=AMERICAN_CIS.CL8KOI8R LD_LIBRARY_PATH=/opt/oracle/product/10.1.0.3/lib JAVA_HOME=/usr/java/j2sdk1.4.2_05 Exception in thread "main" java.sql.SQLException: ORA-12705: Указано неверное или неизвестное значение параметра NLS at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:651) at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:341) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:347) at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:139) at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:79) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:549) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at dbAccess.main(dbAccess.java:9) из sqlplus все выходит правильно,все переменные выставлены верно, а что ему не нравится непойму так, если LANG поменять на LANG=C, то отрабатывает, но вместо русских букв вопросики что еще нужно сделать? P.S. аналогично если через тонкий драйвер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 12:31 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
sanek842что то не получается законнектится вот файл dbAccess.java Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. запускаю под Linux составил небольшой скрипт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. на выходе CLASSPATH=/opt/oracle/product/10.1.0.3/lib:/opt/oracle/product/10.1.0.3/JRE:/opt/oracle/product/10.1.0.3/jlib:/opt/oracle/product/10.1.0.3/rdbms/jlib:.:/opt/oracle/product/10.1.0.3/jdbc/lib/ojdbc14.jar:/opt/oracle/product/10.1.0.3/jdbc/lib/nls_charset12.jar LANG=ru_RU.KOI8-R NLS_LANG=AMERICAN_CIS.CL8KOI8R LD_LIBRARY_PATH=/opt/oracle/product/10.1.0.3/lib JAVA_HOME=/usr/java/j2sdk1.4.2_05 Exception in thread "main" java.sql.SQLException: ORA-12705: Указано неверное или неизвестное значение параметра NLS at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:651) at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:341) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:347) at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:139) at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:79) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:549) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at dbAccess.main(dbAccess.java:9) из sqlplus все выходит правильно,все переменные выставлены верно, а что ему не нравится непойму так, если LANG поменять на LANG=C, то отрабатывает, но вместо русских букв вопросики что еще нужно сделать? P.S. аналогично если через тонкий драйвер try catch ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 12:55 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
import java.sql.*; public class dbAccess { public static void main(String[] args) throws SQLException { DriverManager.registerDriver ( new oracle.jdbc.driver.OracleDriver Код: plaintext Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:@stat","scott","tiger"); Statement stmt = conn.createStatement(); //ResultSet rset = stmt.executeQuery("select BANNER from sys.v_$version"); ResultSet rset = stmt.executeQuery("select dname from dept where deptno=50"); while ( rset.next() ) System.out.println(rset.getString(1)); stmt.close(); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 12:57 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
peter6636import java.sql.*; public class dbAccess { public static void main(String[] args) throws SQLException { DriverManager.registerDriver ( new oracle.jdbc.driver.OracleDriver Код: plaintext Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:@stat","scott","tiger"); Statement stmt = conn.createStatement(); //ResultSet rset = stmt.executeQuery("select BANNER from sys.v_$version"); ResultSet rset = stmt.executeQuery("select dname from dept where deptno=50"); while ( rset.next() ) System.out.println(rset.getString(1)); stmt.close(); } } После while поставил Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 12:59 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
Точнее нафиг он там вообще нужен,но это так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 13:00 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
че-то ему тут не понравилось-("jdbc:oracle:oci8:@stat","scott","tiger"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 13:02 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
NLS_LANG=AMERICAN_CIS.CL8KOI8R Фигня какая то. Может american_america? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 13:02 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
не, код то рабочий, я его с инета еще давно откуда то содрал, и это работало под виндой на jdk 1.3 и 9-ом оракле А american_cis .. CIS это территория , влияет гл. образом на формат даты ( помоему больше ниначто :) В любом сл american_america тоже некатит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 13:22 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
sanek842не, код то рабочий, я его с инета еще давно откуда то содрал, и это работало под виндой на jdk 1.3 и 9-ом оракле А american_cis .. CIS это территория , влияет гл. образом на формат даты ( помоему больше ниначто :) В любом сл american_america тоже некатит Ну ругается он именно на nls_lang Message ORA-12705:Invalid or unknown NLS parameter value specified Cause There are two possible causes: Either an attempt was made to issue an ALTER SESSION statement with an invalid NLS parameter or value; or the NLS_LANG environment variable contains an invalid language, territory, or character set. Action Check the syntax of the ALTER SESSION statement and the NLS parameter, correct the syntax and retry the statement, or specify correct values in the NLS_LANG environment variable. For more information about the syntax of the ALTER SESSION statement, see the Oracle9i SQL Reference. 0. (маловероятно) Триггер может какой... 1. ф десятке глюк если classes12.zip вместо ojdbc14.jar - то же самое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 13:45 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
так вот если запускать, то получается ( LANG=en_US.utf8; java -classpath .:/opt/oracle/product/10.1.0.3/jdbc/lib/ojdbc14.jar:/opt/oracle/product/10.1.0.3/jdbc/lib/nls_charset12.jar dbAccess ) | iconv -cs -f utf-8 -t koi8-r бред какой то :( такое чувство в 10-шных дровах КОИ8 и непахнет, такого же неможет быть! сейч. classes12 попробую.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 13:49 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
sanek842сейч. classes12 попробую.. та же фигня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 13:51 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
В линуксе я, к сожалению, ламер, поэтому строчка ( LANG=en_US.utf8; java -classpath .:/opt/oracle/product/10.1.0.3/jdbc/lib/ojdbc14.jar:/opt/oracle/product/10.1.0.3/jdbc/lib/nls_charset12.jar dbAccess ) | iconv -cs -f utf-8 -t koi8-r мне мало о чем говорит. Еще вопросы: 1) Сервер на линуксе? 2) Если с винды то же самое запустить, что будет? ЗЫ. еще неплохо бы пошаманить с classpath (очистить весь, запускать c java -cp) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 14:01 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
сервер на Linux Red Hat , на другом компе, там стоит Oracle 9.2.0.5, кодировка базы 866-ая , локаль ru_RU.ibm866. У себя ( типа клиент ) Fedora Core 3 , локаль ru_RU.KOI8-R, клиент оракловый 10.1.0.3, NLS_LANG=AMERICAN_CIS.CL8KOI8R При этих настройках с sqlplus - а все путем Код: 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. Как видно конвертация из 866 в КОИ идет автоматом как и должно, почему jdbc непонимает? На винде 10-шного клиента нет, пока немогу попробовать :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 14:23 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
попробовал с 8-м клиентом сменил ORACLE_HOME и т.д. , подправил скрипт компиляции класса Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. на выходе все ОК! [oracle@sanek 1]$ ./2 CLASSPATH=/opt/oracle/product/8.1.7.0/lib:/opt/oracle/product/8.1.7.0/JRE:/opt/oracle/product/8.1.7.0/jlib:/opt/oracle/product/8.1.7.0/rdbms/jlib:.:/opt/oracle/product/8.1.7.0/jdbc/lib/classes111.zip:/opt/oracle/product/8.1.7.0/jdbc/lib/nls_charset11.zip LANG=ru_RU.KOI8-R NLS_LANG=AMERICAN_CIS.CL8KOI8R LD_LIBRARY_PATH=/opt/oracle/product/8.1.7.0/lib JAVA_HOME=/usr/java/j2sdk1.4.2_05 Привет И это при тех же значениях LANG и NLS_LANG! какие будут мысли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 14:48 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
sanek842И это при тех же значениях LANG и NLS_LANG! какие будут мысли? Первая мысль: десятка жжет! :) Если серьезно - хз. Кого нибудь поумнее спросить. На металинк сходить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 15:00 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
sanek842 И это при тех же значениях LANG и NLS_LANG! какие будут мысли? На странице скачивания JDBC-драйверов на OTN обратил внимание на ссылку: Oracle Database 10g JDBC Drivers ... orai18n.jar (5,018,093 bytes) - NLS classes for use with JDK 1.2, 1.3 and 1.4. This jar file replaces the old nls_charset jar/zip files. Может быть дело в этом архиве, который теперь следует использовать вместо nls_charset12.jar? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 15:43 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
я тоже обратил на это внимание, но с родными из дистрибутива всеравно не катит с otn забрал свежие 2 драйвера [oracle@sanek new]$ ls -l итого 6252 -rw-r--r-- 1 oracle oinstall 1352918 Апр 4 17:37 ojdbc14.jar -rw-r--r-- 1 oracle oinstall 5018093 Апр 4 17:39 orai18n.jar Они даже поразмеру отличаются С ними заработало через thin драйвер через OCI теперь ругается так Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException at oracle.jdbc.driver.T2CConnection.t2cCreateState(Native Method) at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:324) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:344) at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:136) at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:79) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at dbAccess.main(dbAccess.java:10) Как говорится не понос так золотуха :) Ну ладно хоть тонкий работает, впринципе уже что то можно программировать. Самое интересное ( тут попробовал ) , к локальной 10-шной базе коннект исправно идет и так и эдак и с родными дровами, а на 9-ку удаленную нехочет. А так идея то у меня в целом была такая, на FC3 поставить легкий Instant клиент с rpm-ма, там Tomcat поднять и работать c удаленной базой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 16:22 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
sanek842 Самое интересное ( тут попробовал ) , к локальной 10-шной базе коннект исправно идет и так и эдак и с родными дровами, а на 9-ку удаленную нехочет. А так идея то у меня в целом была такая, на FC3 поставить легкий Instant клиент с rpm-ма, там Tomcat поднять и работать c удаленной базой. Я бы посоветовал при работе с Oracle 9i использовать драйвера не выше чем 9i, поскольку при коннекте драйверами от 10g к базе 9i после очередного пача получил следующее: /topic/135729&hl=#1086756 Т.е. для меня драйвера 9i пока самые востребованные, и к 9-ке ходят, и к 10-ке, к 8-ке не пробовал за отсутствием таковой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 18:03 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
возможно Скопировал себе 9-ку с удаленного нашего сервера, настроился на ее драйвера, по крайне мере эти примеры работают, как через thin так и через OCI. Только вылез другой момент, тот же код в JSP странице через OCI не отрабатывает. Пробую в Oracle JDeveloper 9.0.5.2 код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. через thin работает, через OCI пишет Код: 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. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. сам OCJ4 отваливается можно предположить конечно что это изза того что я 9-ку просто так перетащил без инсталляции, но мне больше кажется что ей нужен jdk 1.3 Денис, а у вас c каким JDK это работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 18:59 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
Вряд ли чего подскажу, такого я еще не пробовал, честно говоря:) JDK 1.4.2_07, Oracle Client 9.2. Cтоит отдельно Tomcat и JBoss, из сред разработки смотрел на IntelliJ IDEA, Borland JBuilder, NetBeans и Eclipse. Основной инструмент - IDEA, Oracle JDeveloper'а нет. Да и веб-сервер из-под среды запускаю редко, как правило он работает отдельно, куда и деплою. В проектах используем THIN-драйвер, поскольку не факт, что у клиентов есть предустановленный оракловый клиент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 19:30 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
ну, поразбираюсь еще завтра, поаккуратней все проделаю с 9-кой, потом посм. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 20:14 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
продолжение :) Значит что получилось, инсталляция (все как полагается) 9-го клиента результатов недала, OC4J падает всеравно, а под Tomcat-ом проверил - все работает! Какой напрашивается вывод, JDeveloper 10g ( версия 9.0.5.2 ) , однако, тоже плохо работает под 9-ым клиентом, они наверное его под 10-кой только обкатывали что ли, так или иначе не могу я там завести JSP с OCI коннектом к 9-ке, что под Linux-ом , что под виндой :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2005, 09:18 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
Timm sanek842И это при тех же значениях LANG и NLS_LANG! какие будут мысли? Первая мысль: десятка жжет! :) Если серьезно - хз. Кого нибудь поумнее спросить. На металинк сходить...Локаль английскую поставь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2005, 09:29 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
stdioЛокаль английскую поставь... а там интересно получается при 10-шном клиенте если LANG=C - коннект идет но нет русских букв ( вопросики ) помогает такое LANG=en_US.UTF-8 , на выходе получаем русский текст но в utf8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2005, 09:57 |
|
||
|
connect to oracle
|
|||
|---|---|---|---|
|
#18+
sanek842 stdioЛокаль английскую поставь... а там интересно получается при 10-шном клиенте если LANG=C - коннект идет но нет русских букв ( вопросики ) помогает такое LANG=en_US.UTF-8 , на выходе получаем русский текст но в utf8 еще так попробовал, собрал локаль localedef -f koi8r -i en_US en_US.KOI8-R c LANG=en_US.KOI8-R коннект тоже идет , но нет русских to stdio а у вас то как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2005, 10:13 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32997456&tid=2152646]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 366ms |

| 0 / 0 |
