0

我最近开始使用 Hana DB,并被告知将全局临时表用于其中一个用例。我正在探索临时表,发现 Hana Global 临时表可以在一个会话中共享记录,并在不同会话之间共享元数据。现在,当我尝试对此进行测试时,我正在创建一个连接并使用相同的连接从数据库中插入和读取记录。但令我惊讶的是,即使我使用相同的数据库连接,我也无法从临时表中获取任何数据。

我最近开始使用 Hana Global 临时表。你能解释一下“数据库会话”是什么意思吗?

我正在使用 Hana JDBC 客户端,并且创建了与 Hana DB 的连接,现在使用此连接我可以写入临时表,但使用相同的连接我无法从临时表中获取数据。我没有处理连接,或者就此而言,我在读写操作之间没有做任何事情,但我仍然无法从全局临时表中读取数据。

下面是示例代码

PreparedStatement ps = dbConnection.prepareStatement("Insert into TEST_SCHEMA.TMP_BA_COND values(1, null, 2)");
System.out.println("Inserted? "+ ps.executeUpdate());

ps = dbConnection.prepareStatement("SELECT * FROM TEST_SCHEMA.TMP_BA_COND");
ResultSet rs  = ps.executeQuery();
System.out.println(rs.getMetaData().getColumnName(1)+ " ");

while(rs.next()) {
  System.out.println(rs.getString(1) + " ");
}

上面的代码显示插入成功并且插入了一条记录,而 Select 语句显示表中没有记录。

4

0 回答 0