I’m a perlish person trying to get Ruby to talk to our Oracle 10g
database. The following program gives me a syntax error I can’t
resolve. I’ve looked at a lot of the website messages concerning the
same error an not found anything that points me to a solution. The sql
runs in TOAD. The caret points to the underbar between aradmin and et.
require ‘oci8’
conn = OCI8.new(‘sql_user’, ‘sql_user05’, ‘AR’)
cursor = conn.exec(‘SELECT entry_id, status FROM aradmin.et_requests
where entry_id > ‘007850’’)
while r = cursor.fetch()
puts r.join(’,’)
end
cursor.close
conn.logoff
ruby data2.rb
data2.rb:3: syntax error, unexpected tINTEGER, expecting ‘)’
cursor = conn.exec(‘SELECT entry_id, status FROM aradmin.et_requests
where entry_id > ‘007850’’)
^
ruby data2.rb
data2.rb:3: syntax error, unexpected tINTEGER, expecting ‘)’
cursor = conn.exec(‘SELECT entry_id, status FROM aradmin.et_requests
where entry_id > ‘007850’’)
Check the quotes used in the string passed as argument to exec. The
single quotes used for the ruby string are clashing with the single
quotes around 007850. Try using “SELECT entry_id, status FROM
aradmin.et_requests where entry_id > ‘007850’”.