Oracle与SQLServer之间的数据迁移
文章作者 100test 发表时间 2007:03:14 14:01:38
来源 100Test.Com百考试题网
很多时间,要在异构数据库之间进行数据迁移或抽取,如果在SQL中提取ORACLE的数据,可以通过ODBC、OLEDB等多种方式,要从ORACLE提取SQL中的数据,大都是通过透明网关来实现的。 
在异构数据抽取过程中,最好采用SQL92标准的语法编写SQL代码,同时要注意不同数据库之间数据类型的转换关系,如ORACLE的日期类型用DATE、SQL用Datetime等。 
一 关于ORACLE的透明网关配置 
ORACLE安装时(9i),将TRANSPARENT GATEWAY FOR MSSQL选中,在ORACLE主目录\BIN中,有个tg4msql.exe程序,它是透明网关程序啦,同时在主目录中还有tgrmsql的一个目录,ORACLE_HOME\tg4msql\admin目录中的inittg4msql.ora就是需要进行配置才能在ORACLE中连接SQL。 
1 如何配置透明网关呢?打开inittg4msql.ora: 
   
xzh代表SQL服务名,pubs代表要访问的SQL数据库。 
  
  HS_FDS_CONNECT_INFO="SERVER=xzh.DATABASE=pubs"
  
  HS_FDS_TRACE_LEVEL=OFF
  
  HS_FDS_RECOVERY_ACCOUNT=RECOVER
  
  HS_FDS_RECOVERY_PWD=RECOVER  | 
   
2 监听的配置oracle_home\network\admin\Listiner.ora 
  
  LISTENER =
  
   (DESCRIPTION_LIST =
  
    (DESCRIPTION =
  
     (ADDRESS_LIST =
  
      (ADDRESS = (PROTOCOL = TCP)(HOST = xzh)(PORT = 1521))
  
     )
  
     (ADDRESS_LIST =
  
      (ADDRESS = (PROTOCOL = TCP)(HOST = xzh)(PORT = 1527))
  
     )
  
    )
  
   )
  
  SID_LIST_LISTENER =
  
   (SID_LIST =
  
    (SID_DESC =
  
     (GLOBAL_DBNAME = xzh.world)
  
     (ORACLE_HOME = D:\oracle\ora92)
  
     (SID_NAME = xzh)
  
    )
  
    (SID_DESC = 
  
      (GLOBAL_DBNAME = tg4msql) 
  
      (PROGRAM = tg4msql) 
  
      (SID_NAME = tg4msql)
  
      (ORACLE_HOME = D:\oracle\ora92)
  
    )
  
   )  |