数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
数据库链应用实例:将一台机器的Oracle7数据库中的数据导入到另一台机器的Oracle9i中去?

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

两台数据库服务器:
     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 




相关文章

相关软件