用VB如何实现exp和imp呢????

解决方案 »

  1.   

    首先申明:
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long接下来声明,调用:
    dim sParam as stringsParam = "system/manager@" & userDB & " tables=(表1,…,表2)" _
               & " file=" & FilePath & "\" & FileName & ".DMP " _
               & " log=" & FilePath & "\" & LogName & ".log"           
    Call ShellExecute(0, "open", "exp.exe", sParam, "D:\Oracle\Ora81\bin", 5)"D:\Oracle\Ora81\bin" 为exp.exe的目录!Try it
      

  2.   

    看帮助!(c:\>exp help=y)
    还有
    导出一张表的几个字段有什么意义!
      

  3.   

    把下属单位的数据导出到软盘,再通过软盘把数据导到省局的oracle中,而省局的表比下属单位的表多了一个单位字段,这个单位字段该如何增加??
      

  4.   

    如果单位字段不是必填项的话,可以先空着不导入,然后再对数据库直接操作来update.
    如果是必填项的话,导入就会出错,可以考虑忽略错误选项,但是没试过这样操作后数据库端会不会有问题。另外,通过imp来导入是不可能增加一个字段的。
      

  5.   

    kao!
    这不是备份问题了将导出的表导入到省局好了
    通过imp导入
    导入后再在省局的数据库里处理在省局:
    打开sql*plus
    执行:
         insert into 省局table(字段,...)
                select 字段,... from 下属table;commit 
    即可!当然也可以在 开发环境下写代码,
    但不值得
    运行一次而已
    浪费
      

  6.   

    他们的网络是没联在一起的,只能通过软盘或其它的存储工具。
    就不能执行
         insert into 省局table(字段,...)
                select 字段,... from 下属table;
      

  7.   

    snowy_howe(天下有雪),两张表的结构都不一样,怎么实现imp...
      

  8.   

    怎么就这么笨呢
    你先执行 imp 不就到一个库里边去了吗!
    然后在省局数据库里执行上边sql语句
    不就完事了吗!
    提交后
    从库中删除该临时表:下属table
    一切ok!
      

  9.   

    用imp肯定是不行的,但可以将数据保存成文件,再INSERT到另一个数据库中。
      如果需要增加单位字段,在SELECT中加上就可以了,比如:
       SELECT '单位代码',col1,col2... from tab where ..
     如果需要增加日期,可以使用ORACLE的系统时间:SYSDATE
    我对VB和delphi都不熟悉,但如果使用PB实现,就快的多了,PB的数据窗口支持直接存储为多种格式的文件,也支持导入。