服务器是 oracle 10g + unix,字符集:American_america.us7ascii;客户端开发环境字符集:American_america.us7ascii,oracle 10g,c# 2003 ,odp.net 最新版;
以前我用 oledb 查询中文内容的表,结果正常,现在在同一个代码环境中,考虑到 odp.net 的效率要远远高于 oledb,就采用它来查询表,结果很悲惨,汉字都为口口口;
英文和数字正常;代码如下:
String strDbConn=”……”
OleDbConn = new OracleConnection(strDbConn);
OleDbConn.Open(); 
String StrSql=”select name from staff ”;
OracleDataAdapter olead = new OracleDataAdapter(strSql,OleDbConn); 
DataSet ds =new DataSet(); 
olead.Fill(ds); 
// read query result 
strData=ds.Tables[0].Rows[0].ItemArray[0].ToString().Trim();
// strData become junk character ??? or 口口口我们单位是oracle正版用户,到oracle metalink 寻求服务支持,过去两天了,没有回音;在oracle官方论坛上寻求支持,发现2003年就有国外工程师报道阿拉伯文/日文/中文无法正常显示的问题,好像要改变数据库字符集,那对我们单位来说风险太大,不允许得.
难道oracle就让该问题保留了四年不解决码?我想也不会.
odp.net 的性能的确好,但是 oracle公司的这个"bug"为什么没有解决呢?注意:我们的程序不是bs结构,是cs结构.
有没有高手解决了这个问题? any help is welcome....