oracle getway实现oracle访问sqlserver

oracle  10.2.0.4  IP:192.168.51.42  AIX
sqlserver 2005 192.168.51.85  DB:test

安装的getway是11.2.0.1的,装在windows上 ip192.168.51.178

现在我在getway服务器上先配置好 inittg4msql.ora
HS_FDS_CONNECT_INFO=sqlserverIP,1433//LCR
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

其中HS_FDS_CONNECT_INFO=sqlserver Ip,prot//sqlserver_DB

这是sqlserver2005的写法


然后同样在getway server上配置listener
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = getway Ip)(PORT = 1521))
    )
  )
SID_LIST_LISTENER =
      (SID_DESC =
         (SID_NAME = dg4msql)
         (ORACLE_HOME = D:\product\11.1.0\tg_1)
         (PROGRAM = dg4msql)
    )
  )
重启listener

然后在oracle server上配置tnsnames.ora
MSSQL =
  (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = getway Ip)(PORT = 1521))
    (CONNECT_DATA =
      (SID = dg4msql)
    )
    (HS = OK)
  )

 在oracle server上创建dblink

sql>create public database llnk ms_sql connect to sa identified by sa using "MSSQL";

sql>select * from t1@ms_sql;

但是利用

select x from t1@ms_sql

可能会出现ora-00904的错误

select sVENDOR  log_Board_Parts@ms_sql;
出错,
error:
ORA-00904: "sVENDOR": invalid identifier

方法:每个字段加上"",并区分大小写即可


select "sBoard","sReelId" from log_Board_Parts@ms_sql where "sBoard" ='N0259FBDC49CCNS0S4';

参考文档:

https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=HOWTO&id=466267.1



 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24849178/viewspace-719775/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24849178/viewspace-719775/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值