# Re: Populating 'long' data column with Ruby OCI8 (trying aga

**URL:** <https://www.ruby-forum.com/t/re-populating-long-data-column-with-ruby-oci8-trying-aga/95565>\
**Category:** Ruby\
**Created:** [January 18, 2006, 9:37pm UTC](https://www.ruby-forum.com/t/re-populating-long-data-column-with-ruby-oci8-trying-aga/95565 "2006-01-18T21:37:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [January 18, 2006, 9:37pm UTC](https://www.ruby-forum.com/t/re-populating-long-data-column-with-ruby-oci8-trying-aga/95565/1 "2006-01-18T21:37:52Z")

</div>

Hi, KUBO

Thank you very much for the reply. I got the following error after I  
applied the patch:  
/usr/local/ruby-1.8/lib/ruby/site\_ruby/1.8/oci8.rb:656:in `bindByName’:  
Not supported type (8)

I changed bind\_param to  
c.bind\_param(’:data’, data, OCI8::SQLT\_LNG)

If I do not change it, I end up with truncated data.

As for changing “datasize = 65535”, I did “datasize = 500000”. However,  
when querying the database populated by other means with 200k long  
columns, I always get back a string of size 65535. This limitation must  
be in place somewhere else (inside OCI?).

Thanks again for trying to help. I ended up using OTL (C++) for  
populating and updating long columns, as pure OCI interface simply  
overwelms me. It would be great, though, to have support for this in  
Ruby OCI8 later sometime.

Sincerely,  
Gennady B…

---

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [January 19, 2006, 4:22am UTC](https://www.ruby-forum.com/t/re-populating-long-data-column-with-ruby-oci8-trying-aga/95565/2 "2006-01-19T04:22:42Z")

</div>

Hi,

“Gennady B.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> Hi, KUBO
> 
> Thank you very much for the reply. I got the following error after I  
> applied the patch:  
> /usr/local/ruby-1.8/lib/ruby/site\_ruby/1.8/oci8.rb:656:in `bindByName’:  
> Not supported type (8)

Sorry, I haven’t tested it. oci8.so doesn’t support OCI8::SQLT\_LNG(8).

> I changed bind\_param to  
> c.bind\_param(‘:data’, data, OCI8::SQLT\_LNG)
> 
> If I do not change it, I end up with truncated data.
> 
> As for changing “datasize = 65535”, I did “datasize = 500000”. However,  
> when querying the database populated by other means with 200k long  
> columns, I always get back a string of size 65535. This limitation must  
> be in place somewhere else (inside OCI?).

Probably inside OCI. The 9th argument of OCIDefineByPos() is ‘ub2  
\*rlen’.  
ub2 means unsigned two-byte integer, whose max value is 65535.  
It needs piecewise fetch to fetch long column over 65535.
