首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

java.sql.SQLException: ORA-02291: integrity constraint (YONG.FK_RE_一)

2013-12-11 
java.sql.SQLException:ORA-02291:integrityconstraint(YONG.FK_RE_1)点击右边红色标题查看本文完整版:jav

java.sql.SQLException: ORA-02291: integrity constraint (YONG.FK_RE_1)
点击右边红色标题查看本文完整版:java.sql.SQLException: ORA-02291: integrity constraint (YONG.FK_RE_1) violated - parent key not found,JAVA JDBC的批量提交插入数据遇到异常.

我使用 类似Oralce网站上的批量插入方法。
? 其中setDefaultExecuteBatch (100);再每批中 有一条违反约束的信息(主键或者外键的约束)
? 其后边的数据全部丢失(被数据库回滚 )
?
? java.sql.SQLException: ORA-02291: integrity constraint (YONG.FK_RE_1) violated - parent key not found
?
? 请问有没有办法,无视这条违反约束的信息引起的异常,保证后边的信息插入,只要这条不被
? 插入到数据库中就可以了。
?
?
? 我参照的程序如下:
? import java.sql.*;
?
? // You need to import oracle.jdbc.driver.* in order to use the
? // API extensions.
? import oracle.jdbc.driver.*;
?
? class SetExecuteBatch
? {
? public static void main (String args [])
? throws SQLException
? {
? // Load the Oracle JDBC driver
? DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
?
? // Connect to the database
? // You can put a database name after the @ sign in the connection URL.
? Connection conn =
? DriverManager.getConnection ("jdbc:oracle:oci8:@", "scott", "tiger");
?
? // Default batch value set to 2 for all prepared statements belonging
? // to this connection.
? ((OracleConnection)conn).setDefaultExecuteBatch (2);
?
? PreparedStatement ps =
? conn.prepareStatement ("insert into dept values (?, ?, ?)");
?
? ps.setInt (1, 12);
? ps.setString (2, "Oracle");
? ps.setString (3, "USA");
?
? // No data is sent to the database by this call to executeUpdate
? System.out.println ("Number of rows updated so far: "
? ? + ps.executeUpdate ());
?
? ps.setInt (1, 11);
? ps.setString (2, "Applications");
? ps.setString (3, "Indonesia");
?
? // The number of batch calls to executeUpdate is now equal to the
? // batch value of 2. The data is now sent to the database and
? // both rows are inserted in a single roundtrip.
? int rows = ps.executeUpdate ();
? System.out.println ("Number of rows updated now: " + rows);     

热点排行