使用DbHelperOra.Query查询Oracle数据库返回值为空

来源:互联网 发布:棕榈油 知乎 编辑:程序博客网 时间:2024/05/17 03:13

在同事的帮助下,将前端项目配置好,根据公司需要修改了四个静态页面。在一切工作准备就绪后,发现一个问题:

问题描述:将一句Sql命令放到PL/SQL软件中执行能得到一个有值的数据,但是同样的语句通过DbHelperOra.Query查询却返回了一个null数据,同一数据库中的同张表,SQL命令一致,在日志中并没有找到关于sql执行的任何异常。如下图所示,依次为PL/SQL、VS运行结果(由于公司数据库需要保密,所以打上马赛克):




在网上搜索了一下,基本上没有什么解决方法,在DbHelperOra.Query命令在同事电脑上是能查询到正确结果的,所以我猜测我电脑的数据库配置有问题或DbHelperOra.Query底层配置有问题。后来几经折腾,在组长的指导下发现是在安装Oracle客户端时没有配置NLS_LANG环境变量,由于SQL命令中含有中文字符,在利用  DbHelperOra.Query方法执行SQL语句时Sql语句中的中文字符传入数据库软件内可能会乱码,这导致查找不到数据,故将NLS_LANG环境变量设置为_.ZHS16GBK(简体中文)。在将NLS_LANG环境变量设置为_.ZHS16GBK后,需要重启电脑使得NLS_LANG环境变量设置生效,之后再利用DbHelperOra.Query就能得到正确的结果。如下图所示:




阅读全文
0 0