C#中企业库访问ORACLE时字符集问题

niat97222 2005-06-27 10:58:35
在C#中使用企业库访问ORACLE中数据,配置dataConfiguration.config文件如下
<dataConfiguration>
<xmlSerializerSection type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<enterpriseLibrary.databaseSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" defaultInstance="DataAccessQuickStart" xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/data">
<databaseTypes>
<databaseType name="Database Type" type="Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase, Microsoft.Practices.EnterpriseLibrary.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</databaseTypes>
<instances>
<instance name="DataAccessQuickStart" type="Database Type" connectionString="LocalQuickStart" />
</instances>
<connectionStrings>
<connectionString name="LocalQuickStart">
<parameters>
<parameter name="Password" value="emis" isSensitive="false" />
<parameter name="User ID" value="emis" isSensitive="false" />
<parameter name="Server" value="HNCX_18" isSensitive="false" />
</parameters>
</connectionString>
</connectionStrings>
</enterpriseLibrary.databaseSettings>
</xmlSerializerSection>
</dataConfiguration>

能连接到ORACLE数据库,并且能检索到数据,但是检索到的中文为乱码,感觉是字符集的问题,但是已经在注册表中配置了ORACLE字符集,并且用PL/SQL访问ORACLE数据库并未出现乱码,而且,用ADO.NET中Oracle Provider for OLE DB 访问ORACLE也并未出现乱码,请指教,用企业库访问ORACLE数据库时是否还需要在什么地方配置字符集.
...全文
222 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeusvenus 2005-06-27
  • 打赏
  • 举报
回复
用OLE DB做数据提供没有乱码说明你ORACLE字符集设置是对的,ENTERPRISE LIBRARY里好象用的是ORACLECLIENT,在.NET1.1中它有好多问题,楼主试试把全局文化设成zh-CN,再把WEB.CONFIG各个Encode成utf-8的地方都编码定义成GB2312,如果还不行,只好在每次调用显示的时候一次次Encode/Decode成GB2312了.很可能是ORACLECLIENT的问题.
niat97222 2005-06-27
  • 打赏
  • 举报
回复
好像和OracleClient这个命名空间有关,继续看把
seekg 2005-06-27
  • 打赏
  • 举报
回复
up
yiyi0518 2005-06-27
  • 打赏
  • 举报
回复
哥哥,偶也不晓得呐, 不过你可以放到ORACLE版上面去问问~~
niat97222 2005-06-27
  • 打赏
  • 举报
回复
刚才上网找了一下
有文档说使用OracleClient的话,如果不用中文字符集的话,则不管如何都会出现乱码,而如果采用中文字符集,则不会出现乱码,刚才建了一个字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK的实例
证实确实如此

可以参看此处
http://blog.csdn.net/jabby12/archive/2004/08/08/68508.aspx

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧