• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

数据库链应用实例:将一台机器的Oracle7数据库中的数据导入到另一台机器的Oracle9i中去?

发布: 2007-7-02 11:08 | 作者: admin | 来源: | 查看: 12次 | 进入软件测试论坛讨论

领测软件测试网
两台数据库服务器
     192.168.16.38 上装有Oracle7
     192.168.16.34 上装有Oracle9i
现要将16.38上的数据导入到16.34上的数据库中去,不用imp和exp,如何做?

1、现用PowerDesigner7.5导出16.38上的基表结构,包括视图、函数、触发器、序列等。
         Tools -> Export User Objects -> Export
2、将导出的脚本在16.34的sqlplus中运行,建立基表结构。
3、vi $ORACLE_HOME.network/admin/tnsnames.ora
 配置16.34上的tnsnames.ora文件,使16.34上的sqlplus能够链接到16.38上的Oracle7数据库,假设链接到16.38的TNS name是ctgpc1638,加上以下代码:
 ctgpc1638 =
   (DESCRIPTION =
     (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.16.38)(PORT = 1521))
     )
     (CONNECT_DATA =
       (SID = ORCL)
     )
   )  
4、来16.34上运行sqlplus,建立数据库链:
 create database link from1638                       //from1638:DB链名,使用时用它,名字可任取。
  connect to ctpgc identified by comdev2399   //ctgpc和comdev2399是远程数据库的用户名和密码
  using @#ctpgc8834@#                                         //连接串,即在16.34上tnsnames.ora中配置的TNS name
 / 
5、在16.34的sqlplus中键入:
 select @#insert into @#||tname||@# select * from  @#||tname||@#@from1638;@# from tab;
6、将屏幕结果copy下列,放到Ultraedit中备用,整理成纯脚本,类似如下所示:
 insert into CODE_TABLES select * from CODE_tables@from1638;
7、将上面生成的脚本语句粘贴到16.34上的sqlplus中去执行,就可以插入数据了。
8、上面的脚本中可能包含有视图的数据插入语句,这时不用视图的语句,只需用另外的脚本导入视图结构即可,因为它是视图,不用插入数据。
9、关于数据库链的几点说明:
 1)使用数据库链操作时,应先建立数据库链。
 2)使用时,应使用DB链名,而不是连接串。
 3)使用DB链名时,前面应加上“@”符号。
 
Author: 徐云生 2002/05/14 

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网