2014-07-25 66 views
0

更新表我aplication正在執行一個表上的非常簡單的更新:數據庫鎖,而在Oracle

UPDATE TABLE SET COLUMN = 'XYZ' WHERE PK = 123 

的問題是,當Hibernate試圖更新這樣的表,表被鎖定與 ORA事件:SQL * Net來自客戶端的更多數據。

我試圖複製我的本地數據庫上的錯誤,但我不能。

有沒有人知道發生了什麼?

數據庫的版本,其中的錯誤發生的事情:Oracle數據庫10g第二版10.2.0.3.0 - 64位生產

我的本地數據庫的版本:Oracle數據庫10g第二版10.2.0.5.0 - 64位生產

PS :正在更新的列是CLOB類型,而OJDBC驅動程序版本是1.4

+0

影子進程已經收到來自第一個網絡軟件包中來自客戶端進程(例如,SQL * Plus,Pro * C和JDBC)的部分調用,並且正在等待更多的數據完成調用。示例是大型SQL或PL/SQL塊,並插入大量數據的語句。 –

+0

正在發送101292個字符長度clob(這是在列中設置的值的大小)。你知道如何解決它嗎? – Jeyvison

回答

0

您是否知道發送到oracle db的確切內容?我在Hibernate發送非常長的sql命令時看到類似的東西,並且在JDBC驅動程序上失敗了。

我建議從獲取最新的JDBC驅動程序版本開始。

+0

正在發送101292個字符長度clob(這是設置在列中的值的大小)。 – Jeyvison

+0

你如何管理hibernate映射?你能發送你使用的配置嗎?請檢查此:http://stephou.wordpress.com/2009/09/24/mapping-large-string-to-clob-for-oracle-with-hibernate-and-spring/ – alobodzk

+0

我更新了我的jdbc驅動程序版本最近(在我的情況下,ojdbc6),但它並沒有解決我的問題。我將字段(數據庫中的CLOB)映射爲字符串,或多或少像這樣:** ** – Jeyvison