aspnet访问oracle 查询条件带汉字结果集为空的问题

 遇到一个很奇怪的现象,  

  .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

如果哪位高人知道原因,请告之,不胜感谢。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,作为AI语言模型,我无法进行拍照操作。但是,我可以提供一份使用ADO.NET从数据库中查询数据,并在ASP.NET中显示为GridView表格的示例代码,您可以参考一下。 首先,创建一个ASP.NET网站,并在网站中添加一个GridView控件。然后,在代码文件中添加以下代码: ```csharp using System; using System.Data; using System.Data.SqlClient; public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindGridView(); } } private void BindGridView() { string connectionString = "Data Source=yourServerName;Initial Catalog=yourDatabaseName;User ID=yourUserName;Password=yourPassword"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand("SELECT * FROM yourTableName", connection); SqlDataAdapter adapter = new SqlDataAdapter(command); DataTable dataTable = new DataTable(); adapter.Fill(dataTable); GridView1.DataSource = dataTable; GridView1.DataBind(); } } } ``` 在以上代码中,我们首先在`Page_Load`事件中调用`BindGridView`方法,该方法使用ADO.NET从数据库中查询数据,并将查询结果绑定到GridView控件中。 其中,`connectionString`变量用于存储数据库连接字符串,您需要将其替换为您自己的连接字符串。`SqlCommand`对象用于执行SQL查询语句,`SqlDataAdapter`对象用于填充查询结果到DataTable中,最后将DataTable数据源绑定到GridView控件中。 完成以上操作后,您可以在ASP.NET中启动该网站,即可看到从数据库中查询到的数据以GridView表格的形式显示出来。 希望这份代码能够帮助到您,如有不明白的地方,可以随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值