服务器:繁体WinXP+oracle8i,字符集:ZHT16BIG5.客户机:简体WinXP,字符集原来是:ZHS16GBK,现在改为和服务器一样的:ZHT16BIG5.功能是要在oracle的VARCHAR字段中保存繁体文字,在BLOB字段中保存图片.现在碰到以下问题:   1.如果采用'Microsoft OLE DB Provider for Oracle',在简体客户机上向服务器添加简体文字,在繁体服务器上文字转换为繁体,并且显示正常.但是没办法向BLOB字段添加大于4k的jpg图片,使用了各种方法也没有办法解决,包括流.,请问有没有办法添加大于4k的图片?   2.如果采用"Oracle Provider for OLE DB",向Oracle服务器的BLOB字段添加图片正常,简体转换为繁体大部分文字显示正常,部分显示'?',例如简体'粤东莞'添加到繁体服务器上就显示繁体 '?东莞',在简体客户机上select出来又是正常的.请问有没有办法使繁体oracle所有繁体文字显示正常?试了好多天了也没有找到办法,请各位大侠帮忙解决其中之一.谢谢!

解决方案 »

  1.   

    Oracle用ODAC这个组件试试。应该可以。第二个问题:
    如果你的oracle的字符集是繁体,插入简体汉字,显示会不正常。如果你把oracle的字符集改为简体中文,就可以正常显示简体。
    这个无所谓。重要的是客户端可以正常显示就可以。可以在oracle服务器上面打开注册表run->regedit.exe->HKEY_Local_Machine->software->oracle->homeo->NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    (健值)      简体中文    繁体中文
    NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK不同的oracle 可能位置不一样。
      

  2.   

    没有遇到这多字符集处理的情况对于图片文件,我用long row字段,好像没有遇到你说的那种情况
    我两个驱动都用过,不过,我们的服务器用的是aix在win平台下,你还是老老实实用mssql才是王道!
      

  3.   

    我试了一下,sizzg的第二个方法可以解决问题,只是各种信息是乱码,不过只要不影响客户端使用就OK了,我要找一个繁体的客户端测试一下.!
    对于lwk_hlj的方法,我想也可以解决问题,但是Oracle以后好象不支持long row字段,如果实在没有办法,我也只有采用这种方法.
    在此谢谢sizzg和lwk_hlj了.
      

  4.   

    对于sizzg的方法,我在繁体客户机上试了,也要改注册表,这样可能不行,我不可能到每一台繁体客户机上改注册表,改天我再试一下lwk_hlj的方法.
      

  5.   

    不成熟的意见:好象有一个ADO连接里面有什么PACKAGE SIZE=4096这样的东西吧?会不会和你的4K大小有所关系呢?这个我没有验证过,你自己看一下下吧。
      

  6.   

    我回过很多贴了,ado对oracle的支持是有问题的,特别是对blob字段
    1.升级mdac
    2.一定要用"Oracle Provider for OLE DB"
    在delphi下用oracle,最好用odac,bde/odbc也没问题,你也可用dbexpress