Java将记录插入Oracle 9i

时间:2011-07-16 13:04:40

标签: java oracle jdbc

我正在尝试通过JDBC将记录插入Oracle。但是,它返回

"ORA-20999: 735014|Unable to make amendment - session was not initialised" when execute the executeUpdate statement. 

这是SQL:

Statement stmt = con.createStatement();
result = stmt.executeUpdate("insert into test_table (ID, LOCATION) select '1', LOCATION from test_table where rownum=1");

有任何想法来解决它吗?

1 个答案:

答案 0 :(得分:1)

您的数据库似乎正在使用行级安全性,即您对表的所有行没有相同的访问权限。相反,权利取决于一些上下文信息,例如你所属的部门。

在您可以访问数据之前初始化上下文的行级安全性要求,以便数据库知道您所属的部门(或任何所需的上下文信息)。

一旦打开了数据库会话,您可能必须先调用某个PL / SQL过程,然后才能选择或插入数据。数据库管理员或 - 如果是商业软件包 - 软件制造商当然可以告诉您更多相关信息。