.NET访问Oracle数据库时报错

1.查询时条件中存在汉字导致oracle查询集为空

SQL:

StringBuilder sb = new StringBuilder(@"select *  from cux_ad_user a where 1=1 ");
            if (!string.IsNullOrEmpty(AD))
            {
                sb.AppendFormat("and lower(a.attribute15) like ‘%{0}%‘", AD);
            }

访问Oracle API:

OracleConnection mycon = new OracleConnection(connString);
            DataTable dt = new DataTable();
            OracleDataAdapter da = null;
            try
            {
                mycon.Open();
                da = new OracleDataAdapter(SQLString, mycon);
                da.Fill(dt);
                Log(SQLString);
                Log("###########################");
            }

处理方法:服务器中注册表的HKEY_LOCAL_MACHINE--->SYSTEM----->CurrentControlSet----->Control--->Session Manager---->Environment下新建字符串值nls_lang,值为

SIMPLIFIED CHINESE_CHINA.AL32UTF8

改完后一定重启,不重启发现不起作用。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。