如题,数据库装在远程服务器上。
我百度了一下 说是 sqlplus admin/pwd @***.sql
但是我这样操作后没反应 怎么回事呢 请教! 

解决方案 »

  1.   

    补充一下,需要导入的是package body和package
      

  2.   

    命令有点问题吧。
    sqlplus username/pwd@host @test.sql
      

  3.   

    host是数据库名吧 加了也不行啊
      

  4.   

    先sqlplu登录进去后再@路径/**.sql
      

  5.   

    5楼的方法我试过了 还是不行啊
    现象是xxr@SERVER:~/datafile> 
    xxr@SERVER:~/datafile> sqlplus test/test @BF_INDEX.sqlSQL*Plus: Release 10.1.0.2.0 - Production on Thu May 20 20:40:35 2010Copyright (c) 1982, 2004, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options 60  
      

  6.   

    有两个文件BF_INDEX.sql BF_PROC.sql
    BF_INDEX.sql 里是对包体的定义 (在pl/sql里就是packages)
    CREATE OR REPLACE PACKAGE BF_DatabaseProc AS
    procedure getfilminfo(p_id in varchar2, p_cur out MY_TYPE_CURSOR ,p_error out NUMBER);
    procedure getfilmlist(p_type in NUMBER, p_cur out MY_TYPE_CURSOR ,p_num out NUMBER,p_error out NUMBER);
    ......
    END;
    BF_PROC.sql 里是包体的实现 (在pl/sql里就是package bodies)CREATE OR REPLACE PACKAGE BODY BF_DatabaseProc
    AS
    procedure getfilminfo(p_id in varchar2, p_cur out MY_TYPE_CURSOR ,p_error out NUMBER)
    ...
    END;
      

  7.   

    你把输入的sql文件改一下,
    $cat tt.sql
    select 1 from dual;
    quit;再执行sqlplus看下,如果能成功,那证明sql文件必须是sql语句才行
    而不能是存储过程或者包体的定义
      

  8.   


    你也看到了,执行结果最后有个60,说明你的脚本里存储过程到了60行。这所明你BF_INDEX.sql脚本里存储过程后面少了一个斜杠“/”