我在 Oracle 10.2 数据库上使用以下登录触发器:
CREATE OR REPLACE TRIGGER AlterSession_trg
AFTER LOGON ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_COMP=LINGUISTIC';
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_SORT=BINARY_AI';
END AlterSession_trg;
这旨在使区分大小写的查询成为过去,当我从 PL/SQL Developer 连接时,情况确实如此。但是,当我从 SQL Developer 或 ASP.NET 应用程序连接时,我正在处理的查询再次区分大小写。无论如何,SQL Developer/.NET 是否可以跳过这个触发器?我是不是把触发器设置错了?
最佳答案
Oracle SQL Developer 正在根据首选项更改 NLS 参数。 (工具 -> 首选项... -> 数据库 -> NLS 参数)
可能您的 .NET 应用程序也在更改 NLS 参数,覆盖您的触发器设置。
您是否尝试过设置 NLS_COMP
和 NLS_SORT
如 environment variables ?
关于.net - 未触发 Oracle 登录触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/302219/