开发平台:Eclipse3.0.2+Myeclipse4.0
开发框架:Struts1.2.4+Hibernate2.1.7

解决方案 »

  1.   

    点击“备份数据”后可以在服务器上创建一个新的表,通过某种机制给命名为一个唯一的,表的结构和要备份的表相同。
    可以通过存储过程执行动态SQL实现。
    然后将原来表中的数据全部插入新表。
      

  2.   

    acmly() 的回答很有创意,但是没有备份文件,怎么回复呀,按照你的想法,点击“备份数据”其实就是“还原数据”,假如我现在只备份数据,而不还原呢?
      

  3.   

    down????????????
    up!!!!!!!!!!!!!!
      

  4.   

    或者在SqlPlus里 写些sql,或者写个两个备份和还原的存储过程,
    但是我不知道该怎么写
      

  5.   

    也就是说,基于B/S结构,客户端不需要装Oracle的客户端的情况下,备份和还原服务器的数据表
      

  6.   

    create or replace procedure store(primarytable varchar2, table4store varchar2) as --接受两个参数,第一个为要备份的表名,第二个是用户指定的该备份的名字,用来还原时使用
             v_sql         varchar2(200);
             BEGIN
                   v_sql := 'create table ' || table4store ||'(...)创建该表(不好意思,不知道怎么直接在这边读到那个表的定义,只好这样弄了';
                   execute immediate v_sql;
                   v_sql := 'insert into '|| table4store || 'select * from '|| primarytable;
                   execute immediate v_sql;
            END store;
      

  7.   

    create or replace procedure restore(source varchar2, dest varchar2) as --接受两个参数,第一个为还原的数据源(就是前面备份到的那个表),第二个为还原的目的表
              v_sql              varchar2(200);
              BEGIN
                    v_sql := 'delete from '|| dest;
                    execute immediate v_sql;
                    v_sql := 'insert into '|| dest ||'select * from '|| source;
                    execute immediate v_sql;
              END restore;
      

  8.   

    哦,对不起了,我说的“数据表”的意思是 在oracle里的一个用户user007 下面的所有表。
    另外 感谢  acmly()的信息!
      

  9.   

    请问  acmly()  如果 要 备份oracle里的一个用户user007 下面的所有表,和还原备份的数据,该怎么写SQl或者存储过程
      

  10.   

    这样如果再用存储过程实现好像有点太麻烦了
    不如用imp和exp了,写个批处理在服务器端,保存时就exp,每次修改名字保证输出的文件命名唯一性,在需要还原的时候就重新imp
    细节可以参考文档Oracle Database Utilities前两章
      

  11.   

    oracle的一个为:user007
    user007这个用户的密码是:user007
    服务器的名字:dbserver
    exp user007/user007@dbserver file=D:\oraclebackup\crystal.dmp full=yExport: Release 9.2.0.1.0 - Production on 星期四 8月 18 10:35:51 2005Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.EXP-00056: 遇到 ORACLE 错误 12514
    ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME
    EXP-00000: 导出终止失败请问 这是怎么回事
      

  12.   

    这个……是在客户端运行的?
    有没有执行过catexp.sql?
      

  13.   

    什么是 catexp.sql?
    我好像没有执行过,
      

  14.   

    $ORACLE_HOME\ora92\rdbms\admin里面有这个脚本,用exp和imp之前首先要运行这个脚本
      

  15.   

    那请问 该怎么运行 catexp.sql这个文件呀
      

  16.   

    先sqlplus用sys连上
    然后@文件路径
    就可以了
      

  17.   

    EXP-00056: 遇到 ORACLE 错误 12514
    ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME
    EXP-00000: 导出终止失败
    ====================================================sqlplus能登陆吗?如果不能请检查你的tnsname.ora是否正确.
      

  18.   

    客户端不需要装Oracle的客户端的情况下,怎样用Sql语句或者存储过程来备份和还原数据库?
      

  19.   

    客户端调用服务器端的一个程序,服务器端程序调用一个脚本exp,恢复的时候则调用一个imp脚本或者写个程序将服务器端相应的表读出来按一定格式存在一个文本文件里面,恢复的时候再导进去
      

  20.   

    客户端不需要装Oracle的客户端的情况下,怎样用Sql语句或者存储过程来备份和还原数据库?
    =========================================================================没有过客户端你怎么连接数据库?
    通过jdbc?
      

  21.   

    oracle的一个为:user007
    user007这个用户的密码是:user007
    服务器上的数据库ID名字:oracdb_dbserver 
    '备份 exp user007/user007@oracdb_dbserver file=D:\oraclebackup\crystal.dmp full=y
    ...
    备份成功 !!!oracle的一个为:user008
    user007这个用户的密码是:user008
    服务器上的数据库ID名字:oracdb_dbserver '恢复 imp user008/user008@oracdb_dbserver fromuser=user007 touser=user008 file=D:\oraclebackup\crystal.dmp
    ...
    恢复成功!!!
    -------------------------------------------
    以上都是在装有客户端的情况下备份和还原的。
    接下来'能不能 再给点在没有装客户端的机子上操作
    给点下一步的提示!!!
    谢谢各位!!!
    期待中。
      

  22.   

    没有客户端怎么能连上服务器?
    ODBC也好JDBC也好,都只是从你的程序到结构化数据库的API
    对Oracle来说,就是可以通过ODBC或JDBC从你的程序到达Oracle客户端
    要想到达其服务器端,只能通过Oracle客户端(个人理解)
    当然你可以想办法尽量把Oracle客户端尽量的装的小一点,只要你需要的东西还有之前的
    “ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME”
    明确的说明了,出错是因为SERVICE_NAME(服务名)不正确
      

  23.   

    既然是B/S结构的项目那么应该在业务层中写个创建并编辑的一个批处理文件的方法(这个文件只能创建在服务器端),接下来就是在服务器上调用并执行cmd命令,当然执行的文件就是刚才生成的批处理文件。兄弟,好好试试把!!!
      

  24.   

    (1)客户端不需要装Oracle的客户端的情况下,怎样用Sql语句或者存储过程来备份和还原数据库?
    或者
    (2)客户端怎样运行服务器端程序,比如就运行CMD命令(一定是在服务器上运行因为只有服务器上安装了Oracle),然后 CMD 带参数 -->服务器机子上的一个批处理文件。谢谢各位了,再帮帮小弟吧!!!
      

  25.   

    http://tech.china.com/zh_cn/netschool/programme/167721/20050629/12442555.html