English 中文(简体)
需在交易中填写的报表
原标题:
  • 时间:2009-05-21 13:26:53
  •  标签:

我正在研究使用认证机制中建立的Oracle s管理用户账户和密码的申请。 申请还使用浏览量担保。 基本上,通过申请登记的所有用户都获得甲骨质用户名和密码,而不是“USERS”表格中的典型条目。 用户还收到某些表格的标签。 这种功能要求在许多情况下将执行DML和DDL声明结合起来,但这是一个问题,因为DDL声明是暗中作出的。 如果在DDL声明执行后出现错误,则交易管理不会使一切倒退。 例如,当新用户在系统登记时,可以采取以下措施:

  1. Start transaction
  2. Insert person details into a table. (i.e. first name, last name, etc.) -DML
  3. Create an oracle account (create user testuser identified by password;) -DDL implicit commit. Transaction ends.
  4. New transaction begins.
  5. Perform more DML statments (inserts,updates,etc).
  6. Error occurs, transaction only rolls back to step 4.

我的理解是,上述逻辑正在设计之中,但我觉得难以在数据存取层对此类功能进行测试和管理。 我已经缩小了数据库,或者在单位测试过程中出现错误,导致测试图形受到本应退缩的测试数据污染。 如果发生这种情况,很容易去掉试验图象,但我担心生产环境中的数据库故障。 我期待着管理这一战略。

这是 Java/Sp的申请。 春天提供交易管理。

最佳回答

你们应当使用Oracle代理认证,同时使用行保。

阅读:

问题回答

首先 我必须说:这样做是坏的。 出于两个原因:

  1. Connections are based on user. That means you largely lose the benefits of connection pooling. It also doesn t scale terribly well. If you have 10,000 users on at once, you re going to be continually opening and closing hard connections (rather than soft connection pools); and
  2. As you ve discovered, creating and removing users is DDL not DML and thus you lose "transactionality".

勿庸置疑,你为什么选择这样做,但我将strongly建议你在申请时而不是在数据库中实施用户。

至于如何解决你的问题,你基本上可以 t。 如同你在您的顺序中编制表格或指数一样。

我不同意以前的一些评论,并说,使用甲骨文账户的担保有许多好处。 如果你们需要用某种用户的影子来补充这一内容,并掌握更多信息,那么如何将Oracle账户的建立列入一个单独的一揽子计划,称为PRAGMAAUTONOMOUS。 将该插入影子的包裹的弹 /失灵状态传回? 我认为,这将与交易的甲骨文账户生成分开。





相关问题
热门标签