.net - 未触发 Oracle 登录触发器

标签 .net oracle

我在 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_COMPNLS_SORTenvironment variables ?

关于.net - 未触发 Oracle 登录触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/302219/

相关文章:

sql - 从 SQL Server 2005 执行 Oracle 存储过程

java - 日期操作问题

java - 重音字符需要多一个字符

Oracle TIMESTAMP 带时区数据类型混淆

c# - 为什么 c# null 可以隐式转换为 System.Nullable<T>,但不能转换为自定义的 Nullable<T>

c# - 如何在纯 C# 和 .Net 框架中编写 Anagram 生成器

sql-server - 带有 Oracle SQL Developer 4.1 的 SQL Server - 无法查看表

c# - 影响相对文件路径的环境 PATH 变量

.net - x64 计算机可以同时安装 x86 和 x64 .net 运行时吗?

c# - 等待池线程完成