我要将创建用户等语句放在批处理文件中执行,但是在调用SQLplus时老出现用户名和口令错误。我的批处理文件是这样写的:
SQLPLUS system/tb @create_user.sql   --服务器在本机,可忽略tnsname
SQLPLUS userid=tb/tb ignore=y file=tb.dmp
exit这个调用以前在oracle805中没有问题。后来分析用system登录时,必须采用AS sysdba,如:system/tb as sysdba.但是在此语句中改为:
sqlplus system/tb as sysdba @create_user.sql  SQLPLUS执行时会报参数错误。
我应该怎么改?请各位帮忙。

解决方案 »

  1.   

    1.sqlplus system/tb;
    2.在sqlplus中执行:conn system/tb as sysdba;
    3.@ \物理路径\create_user.sql。
      

  2.   

    补充一点,一定要看清create_user.sql中的内容,不要drop有用的数据,否则后果不堪设想!
      

  3.   

    sqlplus system/tb as sysdba @create_user.sql 脚本中这个语法没错。
    可能是你create_user.sql中有问题。
      

  4.   

    批处理中
    sqlplus system/tb  @create_user.sql as sysdba
    这样写就可以了。
    @后面的应该是全路径
      

  5.   

    4楼的,批处理中写成这样还是会报“invalid username...”错误
      

  6.   

    那你的用户名密码对了吗system/tb 后面要加空格
      

  7.   

    是用的windows吗?我的批处理脚本内容:
    sqlplus sys/abc as sysdba @sql.sqlsql.sql内容:
    insert into test values(10);
    commit;
    exit脚本执行前:
    SYS@tl>select * from test;未选定行
    脚本执行后:
    SYS@tl>/       AAA
    ----------
            10
      

  8.   

    这是我执行SQLPLUS命令中结果C:\Documents and Settings\Robin>sqlplus system/jxbbs as sysdba
    用法: SQLPLUS [ [<option>] [<logon>] [<start>] ]
    其中 <option> ::= -H | -V | [ [-L] [-M <o>] [-R <n>] [-S] ]
         <logon>  ::= <username>[/<password>][@<connect_string>] | / | /NOLOG
          <start>  ::= @<URI>|<filename>[.<ext>] [<parameter> ...]
            "-H" 显示 SQL*Plus 的版本标帜和使用语法
            "-V" 显示 SQL*Plus 的版本标帜
    "-L" 只尝试登录一次
            "-M <o>" 使用 HTML 标志选项 <o>
            "-R <n>" uses restricted mode <n>
            "-S" uses silent mode

      

  9.   

    不知道你是哪个版本ORACLE?
    用:sqlplus "system/jxbbs as sysdba"
    加引号行不行?