因是程序中的对数据库操作的语句都是直接针对表名写的,而不是“属主名.表名”的--这是oracle中的机制, 如果已经写好了程序,那就按原来写程序的时候的库再导一次.原来是针对表名的,那可能是你已经有了访问那些表的权限了, 如果现在用程序连接,没有访问权限,就把表的前面都加上owner.

解决方案 »

  1.   

    不是这个意思,在oracle中是以用户的形式出现的,你导入导出应该以用户的身份进行,也就是你导入的是这个用户的数据库.
      

  2.   

    新ID与旧ID不同,导致已经写完的前台程序无法在B服务器中运行要么改为同样ID,要么改程序
      

  3.   

    Import user to another tablespace     Here is how I move users to another tablespace. I will use the schema
         scott as an example and the tablespace will be DATA (was in USERS).      exp userid=system/manager parfile=exp_user.par file=exp_scott.dmp
          log=exp_scott.log
          owner="(scott)"      Parameter File:        BUFFER=4096000
            COMPRESS=Y
            GRANTS=Y
            INDEXES=Y
            ROWS=Y
            CONSTRAINTS=Y
            DIRECT=Y      Enter the following at the SQL prompt:        revoke DBA,RESOURCE from scott; REM make sure they only have connect.
            alter user scott quota unlimited on DATA;
            alter user scott quota 0M on USERS;
            alter user scott quota 0M on SYSTEM;
            REM The last three grants give the user added privs that RESOURCE
            was giving them.        grant create procedure to scott;
            grant create trigger to scott;
            grant create type to scott;      Now import the user:       imp userid=system/manager parfile=imp_user.par file=exp_scott.dmp
           log=imp_scott.log  fromuser="(scott)" touser="(scott)"       Parameter File:          BUFFER=4096000
              GRANTS=Y
              INDEXES=N
              IGNORE=Y
              ROWS=Y       I realize "Y" is the default for the parameters in the par file but
           there are times you want to change them to "N" so I leave them in.
           Once you have moved the user you can grant the privileges back to them.