本帖最后由 geqiwei 于 2011-11-17 11:49:04 编辑

解决方案 »

  1.   

    参考下面句法:
    query=\"where t1 > to_date('20111116122504', 'yyyymmddhh24miss')\"注意:\这个转义字符
      

  2.   

    to_date('2011-01-01', 'YYYY-Month-DD')
      

  3.   

    正解。
    如果写在参数文件中就可以像sql一样写了,直接写加\转义。
      

  4.   

    以下是在命令提示符下(cmd)最终成功执行的语句,谢谢各位exp username/"""damovio+wf=68"""@db file=e:\db.dmp log=e:\db.log buffer=4096000 tables=(a,b,c,d,e,f,g) compress=yes indexes=yes rows=yes constraints=yes feedback=1000 query=\"where rownum<=20000 and gxsj>=to_date('2011-01-01','yyyy-mm-dd')\"
      

  5.   

    但上述语句放在parfile文件中执行时仍然报错:
    LRM-00116: ')'后跟 'yyyy-mm-dd' 时出现语法错误
    LRM-00113: 处理文件'E:\11\exp.par'时出错EXP-00019: 处理参数失败, 请键入 'EXP HELP=Y' 获取帮助信息
    EXP-00000: 导出终止失败
      

  6.   

    文件里面如下写:query="where rownum<=20000 and gxsj>=to_date('2011-01-01','yyyy-mm-dd')"
      

  7.   


    parfile里我是把转义符去了,但又出现了如下错误提示:
    EXP-00056:遇到ORACLE错误 1017
    ORA-01017:invalid username/password; logon denied我的parfile文件内容如下:userid=username/"""damovio+wf=68"""@db file=e:\db.dmp log=e:\db.log buffer=4096000 tables=(a,b,c,d,e,f,g) compress=yes indexes=yes rows=yes constraints=yes feedback=1000 query="where rownum<=20000 and gxsj>=to_date('2011-01-01','yyyy-mm-dd')"
      

  8.   


    用户名口令不会错误的啊,在cmd里执行的时候就可以,只是去掉了转义符而已