最近遇到一个棘手的问题:
1.客户要求服务器用英文字符集us7ascii的,不能修改
2.之前都是用中文字符集,C#采用OracleClient的方式去读取数据,插入数据都没问题,但是换成英文字符集时,读取数据、插入数据都是乱码了。
3.换成ORACLE.DataAccess的方式,忍让会出现读取数据、插入数据都是乱码的问题
4.采用微软的oledb方式,获取数据和插入数据终于不会乱码了,但是大数据字段比如clob类型,读取、插入就报错了
5.采用oracle 的oledb方式,读取数据没问题,可以读取大字段,但是where条件中不能出现中文,插入数据为乱码
6.上面的测试都是在客户端已改为英文字符集的情况下测试的,不存在客户端和服务器字符集不一样的情况。
delphi7 正常插入数据就正常。
请问,这个要怎么解决:读取中文,插入中文都没问题,且兼容clob大数据字段。
查询了相关问题,有几个相同经历都,但是没看到解决方式。
相关连接1:http://www.myexception.cn/c-sharp/1830294.html
2:http://www.itpub.net/thread-1935211-1-1.html
insert into test values(N'中文测试',N'中文测试')
单引号 前面 N 加了吗?
测试过 不行的,,
@哈哈heng: https://blog.csdn.net/junyong/article/details/7964612
这个文章的办法都试过了?
@Tom.汤: 嗯 网上查到都是几年前的 都试了不行,,难过(ಥ﹏ಥ)
@哈哈heng: 正常 delphi 可以,C# 应该也是可以的, 会不会是驱动的问题, Oracle 有的官方驱动是不是就是不行的?