2016-08-07 12 views
1

오라클 데이터베이스와 JRuby에서 JDBC 드라이버를 사용하여 Oracle에서 tutorial을 추적했습니다. JRuby 커넥터 클래스가 필요하며 코드 일부가 수정되었습니다. 난 그냥 간단한 삽입 문을 수행하고 내 스크립트에서 실행 싶습니다. 이 일이 끝나면 나는이 10 + 1000 번해야 할 수도 있습니다.JRuby OJDBC, 오류는 없지만 삽입이 표시되지 않습니까?

나는 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 파일을 복사하여 붙여 넣은 다음 필요합니다. DB에 게시하기위한 용도로 사용하는 것으로 가정했습니다.

이 내 설정은 다음과 같습니다 초기화 = CSVParse.new ("SYSTEM", "비밀번호", "JDBC : 신탁 : 얇은 : @ :... 1521 : XE")

도와주세요.

답변

1

당신이 제공된 링크에서 샘플 코드를 사용하는 경우는, 다음 코드에서 어딘가에 @conn.auto_commit = false을 가지고 있으며, 그 가능성 당신이해야 할 무엇 때문에 예는 바로 insert_stmt.executeconn.commit를 사용하는 방법을 보여줍니다.

간단히 말해서, 누락 된 전화 번호 conn.commit을 추가하십시오.

+0

네, 죄송합니다. 나는 아침마다 그것을 알아 내려고 노력했다. 그리고 내가 여기에 올린 후에 그것을 발견했다. 그래도 감사합니다. – user3505901