我与Sybase的一位工程师取得了联系,他们为我提供了一个代码示例。因此,我可以回答自己的问题。
基本上,这是一个总结,因为代码示例非常大…这假定了许多预初始化的变量,但否则将需要几百行。任何有兴趣的人都应该知道。在理想情况下,每秒最多可以插入22K次(无论如何,根据Sybase)。
SybDriver sybDriver = (SybDriver) Class.forName("com.sybase.jdbc3.jdbc.SybDriver").newInstance();sybDriver.setVersion(com.sybase.jdbcx.SybDriver.VERSION_6);DriverManager.registerDriver(sybDriver);//DBProps (after including normal login/password etc.props.put("ENABLE_BULK_LOAD","true");//open connection here for sybDriverdbConn.setAutoCommit(false); String SQLString = "insert into batch_inserts (row_id, colname1, colname2)n values (?,?,?) n";PreparedStatement pstmt;try{ pstmt = dbConn.prepareStatement(SQLString); }catch (SQLException sqle){ displaySQLEx("Couldn't prepare statement",sqle); return;}for (String[] val : valuesToInsert){ pstmt.setString(1, val[0]); //row_id varchar(30) pstmt.setString(2, val[1]);//logical_server varchar(30) pstmt.setString(3, val[2]); //client_host varchar(30) try { pstmt.addBatch(); } catch (SQLException sqle) { displaySQLEx("Failed to build batch",sqle); break; }}try { pstmt.executeBatch(); dbConn.commit(); pstmt.close();} catch (SQLException sqle) { //handle}try { if (dbConn != null) dbConn.close();} catch (Exception e) { //handle}


