If you bind LONG RAW columns by OCI8::Cursor#bind_param, you can pass string data as it is.
ruby-oci8 2.0:
cursor = conn.parse(sql_stmt)
cursor.bind_param(1, string_data, :raw) # bind string_data as raw.
cursor.exec
The following code works on both ruby-oci8 1.0 and 2.0.
cursor = conn.parse(sql_stmt)
cursor.bind_param(1, string_data, OCI8::SQLT_BIN) # bind string_data as raw.
cursor.exec
|