【发布时间】:2011-03-17 00:27:00
【问题描述】:
希望我能以一种连贯且有意义的方式表达这一点:
在我发送一封电子邮件解释我们为什么使用 NHibernate 以及 ORM 框架的好处后,我们的两个 DBA 找到了我。他们一直在努力重构我们的存储过程以包含这样的工具:
开始 DBMS_APPLICATION_INFO.set_module(module_name => '人力资源' ,action_name => '获取员工');
{这里的sql}
DBMS_APPLICATION_INFO.set_module(NULL, NULL);
我的问题主要围绕着我们如何才能实现这一点,是否有任何巨大的警告建议不要为此寻找实现,如果这太痛苦了,是否有替代方案。
提前谢谢你, -肖恩
【问题讨论】:
-
在没有任何其他工具的情况下,这是一个好的开始,但我不清楚您正在考虑在哪里调用 - PL/SQL 存储过程或 Java 端代码?
-
这就是问题所在,dba 希望仪器在数据库端,但我们没有使用存储过程,只是 NHibernate 生成的 SQL。我们可以将检测添加到 NHibernate SQL 吗?
-
不知道它如何适应 NHibernate(这就是我想看一个例子的原因),但 ODP 文档中有 Module/Action 作为连接属性 download.oracle.com/docs/html/E15167_01/…
-
我实际上无法给出任何示例,因为我试图弄清楚它,但这基本上就像要求 NHibernate 在对底层数据存储执行任何操作之前预先并附加对 DBMS_APPLICATION_INFO.set_module 的调用.
标签: c# oracle nhibernate instrumentation