用C#编写操作oracle数据库程序,插入数据为什么是乱码。

dd_wangy 2005-07-25 04:00:55
我用C#编写了个C/S程序,操作的数据库是oracle816.
数据库服务器和客户端使用是用的AMERICAN_AMERICA.US7ASCII编码,用SQL/PLUS显示和插入数据都正常。
但用程序插入数据是出现乱码。程序使用的是OleDb。用SELECT提取并显示数据库中的数据正常,没有乱码,但用INSERT插入数据时,插入的是乱码,这到底是怎么问题。郁闷。

...全文
442 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
spiderman111 2005-12-05
  • 打赏
  • 举报
回复
表对中文的支持有问题吧,选UTF8
jxufewbt 2005-11-18
  • 打赏
  • 举报
回复
呵呵
alpga 2005-11-18
  • 打赏
  • 举报
回复
昨天刚刚解决这个问题,不敢独享。.Net连接Oracle时,数据库采AMERICAN_AMERICA.US7ASCII编码,用OracleClient时连接,汉字,字符都是乱码,数字正常,用OleDb连接时,显示是正常的,但选择的连接字符串不当,若下面第一种则录入汉字时会出现乱码,显示是正常的;只有选择第二种连接字符串才能正常显示,录入汉字才不会出现问题。
这是个人心得,若有不当之处,请大家指正。

附Oracle连接字符串:
1、[Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID="";Password="";Data Source=""]
2、[Provider=MSDAORA; Persist Security Info=False;Integrated Security=yes;Data Source="";User ID="";Password=""]
dd_wangy 2005-07-29
  • 打赏
  • 举报
回复
大家帮忙看看呀。

自己顶
dd_wangy 2005-07-29
  • 打赏
  • 举报
回复
在数据库的字符集不能修改的情况下如后解决。就是插入是执行INSERT语句,我怎么做才能把插入的中文字符转换成数据库支持的字符集。

大家帮忙看看呀。
MyLf 2005-07-25
  • 打赏
  • 举报
回复
因为.Net是Unicode的,所以你需要把数据库的字符集改为支持unicode的。

111,094

社区成员

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

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

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