Populating long data column with Ruby OCI8

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 = OCI8.new ‘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)

c.exec
db.commit

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 forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs