|
|
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
Я работаю с Oracle 11.2.0.1 x64 под Windows Server 2008 R2. Появилась задача считывать данные из файлов XLS(XLSX). Для чтения XLSX нашел готовы вариант на PL/SQL ( https://technology.amis.nl/2013/01/19/read-a-excel-xlsx-with-plsql/). Для чтения XLS(XLSX) решил использовать набор java библиотек Apache POI 3.9, который скачал тут https://archive.apache.org/dist/poi/release/bin/. При помощи Oracle утилиты loadjava загрузил нужные для работы файлы jar в указанной ниже последовательности: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Библиотеки загрузились без ошибок, объектов JAVA CLASS и JAVA RESOURCE в статусе Invalid в схеме user не выявил. Далее нашел уже готовый пример, в котором читается XLS файл из PL/SQL при помощи Apache POI ( https://chrisonoracle.wordpress.com/2013/11/13/read-excel-file-in-plsql-using-java-in-the-db/). Создал Java source ExcelReader и пакет excelreader в схеме user. Залил в BLOB простой XLS в виде таблицы с формулой суммы по одному столбцу. Пакет excelreader без проблем считал все данные из файла. Мне это понравилось, поэтому решил, таким же макаром прочитать и XLSX, но только используя в java source ExcelReader вместо HSSF методы XSSF, которые предназначены для работы с расширением XLSX. Но был разочарован, т.к. пакет excelreader при чтении того же файла, но сохраненного в XLSX, вернул ошибку: Код: plsql 1. После чего решил потестировать данные библиотеку XSSF из консоли java (в качестве примера использовал http://thinktibits.blogspot.com/2012/12/POI-Java-Read-XLS-XLSX-File.html). Собрал класс readxlsx используя JDK 1.5 из Oracle_home: Код: plsql 1. Затем запустил этот класс: Код: plsql 1. Файл XLSX считался без проблем. Но почему при вызове методов библиотеки XSSF в Oracle мне выдает эту ошибку? Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 08:58 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
Исправил список моей загрузки для loadjava, а то неверно опубликовал в предыдущем сообщении: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 10:05 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
Как говорится, если долго мучаться, что-нибудь получится. Я нашел таки решение! Оказывается для работы данной библиотеки в среде PL/SQL необходимо было выдать недостающую привилегию для схемы user (куда загружал java классы Apache POI 3.9): Код: plsql 1. 2. 3. После чего все заработало как часы=) Если кому-то понадобиться, то вот еще одна из привилегий, которая была нужна при загрузке классов для работы с XLSX: Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2015, 10:53 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
Попытался загрузить файлы аналогичным образом, при выполнении этой команды Код: plsql 1. появились вот такие ошибки: Код: 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. 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. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. Откуда там могло взяться деление на ноль? Где искать источник ошибок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 15:12 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
Warlock86Откуда там могло взяться деление на ноль?Например, это какой-либо из параметров (dpi, разрешение XY, цвета,...) невыставленного отсутствующего дисплея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 16:08 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
awtuiWarlock86Откуда там могло взяться деление на ноль?Например, это какой-либо из параметров (dpi, разрешение XY, цвета,...) невыставленного отсутствующего дисплея. А можно поподробнее? Прежде, чем запускать loadjava, нужно где-то прописать конфигурацию дисплея? Или ещё какие-нибудь параметры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 16:14 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
Ошибки возникали, когда я запускал loadjava с клиентского компьютера. Когда же я запустил его с сервера, всё прошло без ошибок. Только перед этим нужно было дать пользователю права CREATE PUBLIC SYNONYM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 17:30 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
Быть может уже где то был вопрос такой, но он мне не попадался есть у меня на машине Oracle 11.2.0.4 развернул я POI 3.16 путём вызова Код: plsql 1. после этого собрал простенькую процедуру суть которой сводиться к следующему Код: java 1. 2. где input - это oracle.sql.BLOB и она мне ругается: Код: plsql 1. куда копать и что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 08:02 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
Рекомендую Java-код отладить вне оракла с подключением библиотек нужной версии, и потом загружать его в оракл. Помня про вывод ошибок - не надо их молча ловить или писать в консоль (catch (e) e.printStackTrace(); ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 08:52 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
насколько я понял, проблема может быть выражена в нескольких видах: 1)При развороте POI в базу создан класс-заглушка, вместо нужного 2)Какая то беда с зависимостями 3)При передаче параметров исказились данные если я собираю чисто java без внешних источников а-ля Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. то в этом случае - все нормально. собираю в InteliJ IDEA как в дальнейшем диагностировать подобные ситуации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 10:24 |
|
||
|
Not work read XLSX using Apache POI in Oracle
|
|||
|---|---|---|---|
|
#18+
1)... 2)... 3)... Забыли: 0) ошибка в коде java которую и рекомендую для начала отладить вне оракла. А затем специально ее вызвать и понять, как ошибки ведут себя в оракле. И волшебный catch() {}, аналог when others then null; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 11:12 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39494442&tid=1885547]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
148ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 190ms |
| total: | 430ms |

| 0 / 0 |
