aspnet访问oracle 查询条件带汉字结果集为空的问题
2013-11-22 15:24
253 查看
遇到一个很奇怪的现象,
.net程序访问oracle,查询条件中有汉字时
在我本机开发环境中运行可以查出结果,部署到服务器上返回结果就是空。 服务器与我本地连接的是同一台服务器上的同一个数据库。
分别在我本地和服务器上执行select * from nls_instance_parameters 查询客户端字符集,显示结果一模一样。结果如下:
PARAMETER:NLS_LANGUAGE;VALUE:AMERICAN;
PARAMETER:NLS_TERRITORY;VALUE:AMERICA;
PARAMETER:NLS_SORT;VALUE:;
PARAMETER:NLS_DATE_LANGUAGE;VALUE:;
PARAMETER:NLS_DATE_FORMAT;VALUE:;
PARAMETER:NLS_CURRENCY;VALUE:;
PARAMETER:NLS_NUMERIC_CHARACTERS;VALUE:;
PARAMETER:NLS_ISO_CURRENCY;VALUE:;
PARAMETER:NLS_CALENDAR;VALUE:;
PARAMETER:NLS_TIME_FORMAT;VALUE:;
PARAMETER:NLS_TIMESTAMP_FORMAT;VALUE:;
PARAMETER:NLS_TIME_TZ_FORMAT;VALUE:;
PARAMETER:NLS_TIMESTAMP_TZ_FORMAT;VALUE:;
PARAMETER:NLS_DUAL_CURRENCY;VALUE:;
PARAMETER:NLS_COMP;VALUE:;
PARAMETER:NLS_LENGTH_SEMANTICS;VALUE:BYTE;
PARAMETER:NLS_NCHAR_CONV_EXCP;VALUE:FALSE;
后来查百度,找到解决方法:数据库连接字符串中加入Unicode=true即可。 如
<add key="DbConnectionString" value="Data Source=db; User ID=taida;Password=taida;Integrated Security=no;Enlist=false;Pooling=true;Unicode=true" />
虽然解决了问题,但是仍然心有不甘,为什么我本机能查询,服务器上查询不出来呢? 我本地可没加Unicode=true
如果哪位高人知道原因,请告之,不胜感谢。
.net程序访问oracle,查询条件中有汉字时
在我本机开发环境中运行可以查出结果,部署到服务器上返回结果就是空。 服务器与我本地连接的是同一台服务器上的同一个数据库。
分别在我本地和服务器上执行select * from nls_instance_parameters 查询客户端字符集,显示结果一模一样。结果如下:
PARAMETER:NLS_LANGUAGE;VALUE:AMERICAN;
PARAMETER:NLS_TERRITORY;VALUE:AMERICA;
PARAMETER:NLS_SORT;VALUE:;
PARAMETER:NLS_DATE_LANGUAGE;VALUE:;
PARAMETER:NLS_DATE_FORMAT;VALUE:;
PARAMETER:NLS_CURRENCY;VALUE:;
PARAMETER:NLS_NUMERIC_CHARACTERS;VALUE:;
PARAMETER:NLS_ISO_CURRENCY;VALUE:;
PARAMETER:NLS_CALENDAR;VALUE:;
PARAMETER:NLS_TIME_FORMAT;VALUE:;
PARAMETER:NLS_TIMESTAMP_FORMAT;VALUE:;
PARAMETER:NLS_TIME_TZ_FORMAT;VALUE:;
PARAMETER:NLS_TIMESTAMP_TZ_FORMAT;VALUE:;
PARAMETER:NLS_DUAL_CURRENCY;VALUE:;
PARAMETER:NLS_COMP;VALUE:;
PARAMETER:NLS_LENGTH_SEMANTICS;VALUE:BYTE;
PARAMETER:NLS_NCHAR_CONV_EXCP;VALUE:FALSE;
后来查百度,找到解决方法:数据库连接字符串中加入Unicode=true即可。 如
<add key="DbConnectionString" value="Data Source=db; User ID=taida;Password=taida;Integrated Security=no;Enlist=false;Pooling=true;Unicode=true" />
虽然解决了问题,但是仍然心有不甘,为什么我本机能查询,服务器上查询不出来呢? 我本地可没加Unicode=true
如果哪位高人知道原因,请告之,不胜感谢。
相关文章推荐
- 解决Oracle 查询条件带中文 出错问题
- 解决hql语句查询条件为中文时结果集为空,为英文查询条件时不为空的问题
- SQLServer访问Oracle查询性能问题解决
- SQLServer访问Oracle查询性能问题解决
- Oracle中查询条件 - 限定汉字的个数
- mysql分组查询结果集作为条件查询的问题
- Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题
- hibernate 通过Restrictions设置中文查询条件,不执行无结果集的问题
- Oracle查询条件带有汉字时查询不出数据的原因
- oracle 查询结果集运算
- oracle递归查询(查询条件ID下得所有子集)
- oracle的分页查询碰到的一个小问题
- Oracle:sqlplus查询出的中文是乱码问题的解决
- Hibernate 实现Oracle的中文汉字按照拼音排序 之延续,通用的查询排序能力。
- Oracle 查询使用union all 与 使用条件or 的查询效率比较
- ibatis动态多条件查询及模糊查询(oracle,mysql,sql)
- ORACLE在使用distinct可能因为查询的列过少导致数据丢失的问题
- Oracle中如何根据一个字段查询是否有符合条件的记录
- oracle 11g 查询时数据库有值返回空的bug解决(hibernate架构有这个问题)
- oracle函数返回结果集(动态查询Sql并定义游标)