# Data Too Long Error For blob Column

**URL:** <https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081>\
**Category:** rubyonrails-talk\
**Created:** [June 25, 2008, 10:42pm UTC](https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081 "2008-06-25T22:42:11Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [June 25, 2008, 10:42pm UTC](https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081/1 "2008-06-25T22:42:11Z")

</div>

I am trying to upload a 432 KB exe file to a column in mysql that is type blob . It can upload pdfs and rtfs and docs and but when I try to upload even a jpg which is barely 184 kb it gives the error (data too long) why is that? (detailed error in file) :

ActiveRecord::StatementInvalid in StoragesController#create

Mysql::Error: #22001 Data too long for column 'data' at row 1: INSERT INTO `storages` (`content_type`, `name`, `updated_at`, `created_at`, `data`) VALUES('image/jpeg', 'Add Task.JPG', '2008-06-25 18:32:13', '2008-06-25 18:32:13', x'ffd8ffe000

c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active\_record/connection\_adapters/abstract\_adapter.rb:150:in `log' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/mysql_adapter.rb:281:in `execute' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active\_record/connection\_adapters/abstract/database\_statements.rb:156:in `insert_sql' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/mysql_adapter.rb:291:in `insert\_sql' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active\_record/connection\_adapters/abstract/database\_statements.rb:44:in `insert_without_query_dirty' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/query_cache.rb:19:in `insert' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active\_record/base.rb:2272:in `create_without_callbacks' c:/ruby/bin/mongrel_rails:19:in `load' c:/ruby/bin/mongrel\_rails:19

Request

Parameters:

{"commit"=\>"Create", "authenticity\_token"=\>"9cbcb635690f612dba93cfda5767036ed040ea1c", "storage"=\>{"dataf"=\>#\<File:C:/WINDOWS/TEMP/CGI.1888.5\>}}

Show session dump

---

<div class="post-metadata">

**Author:** ![Eric\_Kramer](https://avatars.discourse-cdn.com/v4/letter/e/8baadc/32.png) [@Eric\_Kramer](https://discuss.rubyonrails.org/u/Eric_Kramer)\
**Post date:** [July 7, 2008, 5:42pm UTC](https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081/2 "2008-07-07T17:42:24Z")

</div>

It looks like you might be using MySQL "BLOB" instead of "LONGBLOB" for your binary column. Try specifying a size (large enough for your data) in your migration using the :size =\> option. For more detail, see the resolution of this ticket: &nbsp;&nbsp;&nbsp;&nbsp;[http://dev.rubyonrails.org/ticket/4164](http://dev.rubyonrails.org/ticket/4164)

Good luck! &nbsp;&nbsp;&nbsp;- Eric Kramer, Nationwide Children's Hospital

---

<div class="post-metadata">

**Author:** ![Eric\_Kramer](https://avatars.discourse-cdn.com/v4/letter/e/8baadc/32.png) [@Eric\_Kramer](https://discuss.rubyonrails.org/u/Eric_Kramer)\
**Post date:** [July 7, 2008, 5:45pm UTC](https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081/3 "2008-07-07T17:45:14Z")

</div>

...Sorry, that should have been :limit =\> (not :size)

---

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [July 7, 2008, 6:47pm UTC](https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081/4 "2008-07-07T18:47:16Z")

</div>

Mr. Kramer,

The longblob helps to some extent ... but then I got the following error the size of the file I attempted to upload is 6948KB and the error I got was ActiveRecord::StatementInvalid in StoragesController#create

Mysql::Error: Lost connection to MySQL server during query: INSERT INTO `storages` (`content_type`, `name`, `updated_at`, `created_at`, `data`) VALUES('application/x-sdlc', 'PrintEngine\_20060519\_motomail\_setup.exe', '2008-07-07 14:43:37

In the console I get this error :

c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active\_record/connection\_adapters/mysql\_adapter.rb:471:

> [BUG] Segmentation fault ruby 1.8.6 (2007-09-24) [i386-mswin32]

Any idea what could be wrong?

Eric Kramer wrote:

---

<div class="post-metadata">

**Author:** ![hassan](https://sea2.discourse-cdn.com/rubyonrails/user_avatar/discuss.rubyonrails.org/hassan/32/714_2.png) [@hassan](https://discuss.rubyonrails.org/u/hassan)\
**Post date:** [July 7, 2008, 8:45pm UTC](https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081/5 "2008-07-07T20:45:12Z")

</div>

Check that 'max\_allowed\_packet' size in your MySQL config is larger than your largest file.

HTH,

---

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [July 8, 2008, 8:48pm UTC](https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081/6 "2008-07-08T20:48:30Z")

</div>

Hassan Schroeder wrote:

---

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [January 15, 2009, 5:35am UTC](https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081/7 "2009-01-15T05:35:50Z")

</div>

Ather Shiraz wrote:

> I am trying to upload a 432 KB exe file to a column in mysql that is type blob . It can upload pdfs and rtfs and docs and but when I try to upload even a jpg which is barely 184 kb it gives the error (data too long) why is that?

Look the /db/schema.rb file. Maybe your camp is defined as string.

---

<div class="post-metadata">

**Author:** ![11155](https://avatars.discourse-cdn.com/v4/letter/1/d26b3c/32.png) [@11155](https://discuss.rubyonrails.org/u/11155)\
**Post date:** [February 27, 2014, 9:32am UTC](https://discuss.rubyonrails.org/t/data-too-long-error-for-blob-column/31081/8 "2014-02-27T09:32:34Z")

</div>

I used PathTooDeep. And was very pleased with its performance. Long Path Tool is awesome to get rid on your long path files. Good luck!
