如何发送参数以在Oracle中触发

Kop*_*tan 4 java oracle audit triggers java-ee

目的是向Web应用程序中的当前用户ID等触发器发送额外信息.由于使用了连接池,并且所有连接都使用相同的用户ID,如何将原始Web用户ID传递给触发器?它是一个基于Java的应用程序.

Jus*_*ave 5

如果您无法触摸应用程序代码,并且应用程序本身未将此信息传递给数据库,那么您将陷入僵局.使该信息可用于后端代码的唯一方法是让中间层传递它.

Oracle为应用程序提供了许多方法,可以将信息从中间层传递到后端,但必须构建应用程序才能利用它们.DBMS_APPLICATION_INFO例如,该程序包有一个set_client_info过程,允许中间层以您的后端触发器可以查询的中间层用户的名称传递.如果需要更通用的机制,也可以使用Oracle上下文.但是,这些方法中的任何一种实际上都要求编写Java应用程序,以便在从连接池检索连接时将此信息传递给后端.