JRuby OJDBC,没有错误,但插入没有出现?

时间:2016-08-07 17:47:00

标签: java ruby jdbc oracle11g jruby

我一直在关注Oracle的tutorial,将他们的JDBC驱动程序与oracle数据库和JRuby一起使用。我需要JRuby连接器类,并修改了一些代码。我只想做一个简单的插入语句并从我的脚本执行它。一旦完成,我可能必须完成这么多次。

我使用的是oracle数据库,11g。 CentOS 7.2 x64。

这是我正在做的工作的代码:

def insert_row
insert_stmt = nil
begin
  conn = OracleConnection.create(@dbuser, @dbpass, @dburl)

  insert_sql = <<-EOH
INSERT INTO TESTTABLE2(COLUMN1)
VALUES('JRUBY')
  EOH
  puts insert_sql
  insert_stmt = conn.prepare_statement(insert_sql)
  insert_stmt.execute

rescue
  puts "\n** Error occured **\n"
  puts "Failed executing Oracle demo from JRuby ", $!, "\n"
ensure
  # We have to ensure everything is closed here.
  if (!insert_stmt.nil?)
    insert_stmt.close
  end
end
end

代码似乎成功完成,但实际上并没有做任何事情。我只是复制并粘贴了jdbc_connector.rb文件并要求它,我认为你应该如何使用它,因为它只是用于发布到数据库。

以下是我的设置: init = CSVParse.new(&#34; SYSTEM&#34;,&#34;密码&#34;,&#34; jdbc:oracle:thin:@ :1521:XE&#34)

请帮忙。

1 个答案:

答案 0 :(得分:1)

如果您使用的是自己提供的链接中的示例代码,那么代码中的代码就会@conn.auto_commit = false,示例会在conn.commit后面显示insert_stmt.execute的使用情况,这很可能是你需要做的。

简而言之,添加丢失的conn.commit电话。