2012-02-10 97 views
0

我在我的MySQL數據庫中有一列存儲圖像作爲字節數組。MySQL 5.5 LONGBLOB列數據在列1'x'列的數據太長

我想更新一行插入一個新的圖像。新圖像爲163K,當我將它轉換爲byte []時,數組中的元素數爲167092.當我運行執行更新的存儲過程時,出現錯誤「Data for long for column' X」爲1行我已經在轉換時具有8844字節[]元素的數據庫現有的圖像。

列的數據類型是LONGBLOB。從我的理解,我應該有appox的4Gb一起工作。

我試圖更新我的my.ini文件,使MAX_ALLOWED_PACKETS = 16M,我甚至試過100M。

我使用MySQL的.NET連接器庫執行我的存儲再修改ES。

有沒有人有任何想法如何解決這個問題?我知道我可以存儲圖像路徑,而不是直接將圖像存儲到數據庫中。但我想知道如何解決我目前的問題,並在嘗試改變我的方法之前,先將圖像存儲在數據庫中。

+0

我可以通過MySQL工作臺上傳圖片,一切正常。我已經能夠上傳3Mb的文件,比我試圖通過.NET上傳的163K文件大得多。這使我相信這可能是MySQL連接器庫的一個問題。 – johnmurphy01 2012-02-10 20:46:53

+0

我最終將存儲路徑存儲在數據庫中。但是如果有人提出一個很好的答案,請評論。我很樂意聽到任何解決方案。 – johnmurphy01 2012-02-14 22:41:13

回答

1

我有完全相同的問題...

在我來說,我是通過文本參數傳遞LONGBLOB,因爲我想,以創建動態SQL使用存儲過程中CONCAT。

解決方案只是將TEXT更改爲LONGTEXT。就是這樣:) 這真的花了一些時間來弄清楚......

希望我能幫助即使經過近三年。