1、保证你的NLS_LANG环境变量与数据库一致
2、保证你的过程没有任何错误(有些错误就是编译通过也是检查不出来的,但是加密时又能检查出来)

解决方案 »

  1.   

    如果我设置了 NLS_LANG=AMERICAN_AMERICA.USACII7 和 NLS_TERRITORY 参数以后,会不会影响数据库的字符?因为这之前我们为字符集这玩艺弄晕了。现在这两个参数的设置是:
    NLS_LANGUAGE='SIMPLIFIED CHINESE.ZHS16GBK' 
    NLS_TERRITORY='CHINA'
    我们设置了这两个参数数据库中的汉字才从'???'变回原形。如果现在因为要WRAP由改回去,那我们的汉字会不会又变成'???' ?
      

  2.   

    跟创建数据库的时候的数据库字符集保持一致client的设置只是一个显示问题
    不会影响数据库本身的
      

  3.   

    set NLS_LANG=AMERICAN_AMERICA.USACII7
    这两句是设置客户端吗?我感觉不是啊。因为我们的oracle安装在IBM_AIX的服务器上。装了客户端的ORACLE在D盘。wrap在客户端根本没有,只能在服务端ORACLE目录下才能运行。可是一运行就出现了kgepop: no error frame to pop to for error 1801 .这个错误。如果是因为没设置NLS_LANG才出现这个问题的话。那么我只能在服务器端用set NLS_LANG=AMERICAN_AMERICA.USACII7来设置。可是,这样真的不会改变数据库中字符集,不会出现汉字变成'???'的问题吗?
      

  4.   

    profile里面的变量设置
    会影响什么呢
    你以为?
      

  5.   

    NLS_LANG是环境变量,不会影响到数据库,但会影响到显示。
    查询select userenv('language') from dual得到数据库字符集
    修改服务器端的NLS_LANG为查询结果
    再试试加密
      

  6.   


    很不幸,你遭遇了 BUG,并且还没有发现解决办法!Subject: oracle 8.1.6 ,wrap cann't work ,error is "kgepop : no error frame to pop to for error 1801 " 
    oracle 8.1.6 ,wrap cann't work ,error is "kgepop : no error frame to pop to for error 1801 "Runtime Platform : Windows 2000 
    Sqlplus version : 8.1.6.0.0 
    Database version : Oracle8i R8.1.6 When trying to use the 'wrap' command to compile a sql file into a plb file in a DOS prompt, an error popped out: 
    kgepop : no error frame to pop to for error 1801 I try to wrap the same sql file in another Windows NT server, 
    using command: 'wrap23 iname=proc_nftprf.sql' 
    It can execute successfully, 
    using command: 'wrap80 iname=proc_nftprf.sql' 
    the same error appears kgepop : no error frame to pop to for error 1801 is this a bug of oracle 8i? thanks for your any suggestion. There is an existing issue against this which is logged as a bug and is in the resolution phase. This bug is in the Code Fix/resolution phase.(<Bug:2160056.-P>)-->it is still a unpublished bug,you will not be able to view it on the Metalink. 
      

  7.   

    或者在其他版本的数据库下wrap后拿到816下运行?看看行不行?