Ron: I could use the "column_value from table()" approach, but want to manipulate the vector as a whole for speed... like a BLOB. Same with updating. I read your earlier post, but want to avoid specifying each element in a comma-separated list.
Thank you for your response, however, I think I need to keep digging. -----Original Message----- From: Reidy, Ron [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 22, 2004 12:12 PM To: Bruce Hartleben; [EMAIL PROTECTED] Subject: RE: Select/update array() of number Bruce, My error stack begins with: Field 1 has an Oracle type (108) which is not explicitly supported You will need to use strings delimited with ',' to move your data around. You should look into table functions also. See my earlier posts. -- Ron Reidy Sr. DBA Array PioPharma, Inc. -----Original Message----- From: Bruce Hartleben [mailto:[EMAIL PROTECTED] Sent: Tue 6/22/2004 9:38 AM To: [EMAIL PROTECTED] Cc: Subject: Select/update array() of number Goal: Array operations (equivalent to shift, memcpy or push/pop) are quite CPU-intensive on the server-side, so I'm trying to load arrays client-side and take advantage of perl's speed. I get errors when I try to read an "array() of number" into perl. Versions: Perl v5.8.0 built for sun4-solaris DBI v1.3 DBD:Oracle v1.15 Oracle 9i SQL: create type a_number1k as array(1000) of number; create table tmp_arrays ( iv a_number1k ); Perl: ... $dbh = DBI->connect( $dbname, $login, $password ) or die "ERROR: Cannot connect to Oracle in db_connect()"; $sth = $dbh->prepare( "select iv from tmp_arrays" ); ... Output: DBD::Oracle::db prepare failed: ERROR OCIDefineObject call needed but not implemented yet [for statement ``select iv from tmp_arrays'']) Question: How can I load an array into perl then write it back to Oracle? I'm dealing with 200 million arrays. Is there a way to keep it in binary form, e.g., cast it to/from a BLOB? Thank you for your help! Bruce Hartleben This electronic message transmission is a PRIVATE communication which contains information which may be confidential or privileged. The information is intended to be for the use of the individual or entity named above. If you are not the intended recipient, please be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited. Please notify the sender of the delivery error by replying to this message, or notify us by telephone (877-633-2436, ext. 0), and then delete it from your system.
