为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DB Version: 0x7000a
【操作系统】:Linx 6.0.80
【CPU】: Intel(R) Xeon(R) CPU E5-2603 v4 @ 1.70GHz
【问题描述】*:jdbc无法获取自增id,单条插入是没有问题的,批量多条同时插入获取不到自增id
新建表
CREATE TABLE "NS_DB"."TEST" (
"ID" INT IDENTITY(1,1) NOT NULL,
"NAME" VARCHAR(255)
)
通过jdbc插入数据,并获取自增列ID的值,无法进入到while循环中
Class.forName("dm.jdbc.driver.DmDriver");
String url = "jdbc:dm://192.168.15.100:5236?schema=NS_DB";
String username = "ns_db";
String password = "Nice_2016";
Connection connection = DriverManager.getConnection(url, username, password);
connection.setAutoCommit(true);
String sql = "insert into ns_db.test(name) values (?), (?)";
PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
preparedStatement.setString(1, "1");
preparedStatement.setString(2, "2");
preparedStatement.executeUpdate();
ResultSet generatedKeys = preparedStatement.getGeneratedKeys();
while (generatedKeys.next()){
long key = generatedKeys.getInt(1);
System.out.println("key:" + key);
}
驱动用23年后的吧
提供一下数据库的详细版本:
select id_code;
SELECT * FROM V$VERSION;