使用Kettel導入Oracle數據庫遇到的一些問題

第一次發文章

Unexpected error committing the database connection

 java.lang.ArrayIndexOutOfBoundsException: 3

最近幾天在搞Kettel工具,因爲客戶是做生物信息分析的,所以對於一些數據來說,對數據庫表的要求比較特殊,比如一個表可能要100多個字段,其中有20個左右是CLOB的,而且數據量灰常大,基本一次會上傳幾十萬條數據上去做分析,所以我們採用了臨時表的辦法,先用Kettel工具將csv文件裏的大量數據導入oracle數據庫的一張臨時表,再去java程序裏寫邏輯,不再廢話,以下是我使用Kettel遇到的幾個問題:

一直顯示 在運行 ,可能不是因爲數據量大,因爲error裏也一直在輸出,所以是有問題的


接下來換了一個只有500條數據的CSV,還是報錯,error已經執行完,但是沒有輸出任何東西

下面又換了一個只有100條數據的CSV,並且修改Spoon的內存配置(就是Spoon.bat,安裝Kettel後根目錄data-integration下的啓動文件,詳細配置可以再百度一下,很簡單),依舊插入不了

 java.lang.ArrayIndexOutOfBoundsException: 3,數組下標越界,雖然看得懂,但是找不到原因


前前後後,減少條數,重新修改數據庫字段,修改Kettel批量提交數量,修改數據,都沒得用,

第二天無意百度到一個答案,說是最初配置的jar包一定要和你操作的數據庫jar包版本一致,於是找到oracle目錄下的jar包

ojdbc14-10.2.0.2.jar(我配置在kettel目錄下的,data-integration\libswt)

ojdbc14-10.2.0.4.jar(oracle目錄裏面的)

果斷替換,重啓Kettel,測試成功!


5萬條數據,19s

替換jar包是要把jar包放到你的系統相應文件夾下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章