【发布时间】:2016-03-23 00:01:09
【问题描述】:
我无法在网上找到这个问题的解决方案,所以我希望我能在这里找到帮助。
我继承了一个 Java Web 应用程序,该应用程序对 Oracle 数据库执行更改并显示其中的数据。该应用程序使用“pamsdb”用户 ID。应用程序在其中一个表 (TTECHNOLOGY) 中插入了一个新行。当应用程序稍后查询数据库时,结果集包括新行(我可以在打印输出和应用程序屏幕中看到它)。 但是,当我直接使用 sqldeveloper 查询数据库时(使用 same user id 'pamsdb'),我在修改后的表中看不到新行。
几点说明:
1) 我读过here 和其他位置,所有 INSERT 操作都应该跟一个 COMMIT,否则其他用户看不到更改。 Java 应用程序不执行 COMMIT,我认为这可能是问题的根源,但由于我在 sqldeveloper 中使用相同的用户 ID,我很惊讶我看不到更改在那里。
2) 我尝试从 sqldeveloper 执行 COMMIT WORK,但这并没有改变我的情况。
谁能建议造成差异的原因以及如何解决?
提前致谢!
【问题讨论】: