Forum: Ruby Populating long data column with Ruby OCI8

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Gennady B. (Guest)
on 2006-01-17 08:08
(Received via mailing list)
Hi, friends

I am back to the list after a while. And I start the reunion with a
question ;-).

Is there any way to insert a big chunk of data (say, 100K) into a column
of type long with Ruby OCI8 or by any other Ruby means? I saw that to do
it in C you must be prepared to handle OCI error code inviting you to
insert another piece. But how to do it in Ruby, especially with OCI8? If
I do

require 'oci8'

db = 'system', 'manager'
db.exec("create table sample (id number, data long)")

data = 'A' * 1024 * 100

c = db.parse('insert into sample values (2, :data)')
c.bind_param(':data', data)


What I end up with in column 'data' is host dependent (or db block size
dependent?). I observed 14464 bytes on 2K database on Solaris, and 34652
bytes on 8K database on Linux.

Thank you,
Gennady B..
This topic is locked and can not be replied to.