oracle连接mssql

方式1,odbc;
步骤:
1,创建odbc,链接sqlserver,系统dsn
2,编辑链接文件一般在$ORACLE_HOME/hs/admin/目录下的一个ora文件,注意,里边内容类似
 HS_FDS_CONNECT_INFO = dns_sid  -- 需要填写你的dns名
 HS_FDS_TRACE_LEVEL = OFF
3,编辑listener文件
 增加内容
 (SID_DESC =
      (PROGRAM = dg4odbc 或者hsodbc) --不同版本填写的不一样,sql2005是hsodbc
      (ORACLE_HOME = 这里填写你的ORACLE_HOME)
      (SID_NAME = dgodbc) --此处为配置文件SID,要与initxxx.ora中的名字对应
 )
确保监听正常启动
4,编辑tns
追加:
conn_sql =
(DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)) # HOST= ORACLE IP
    (CONNECT_DATA=(SID=这里写上你的sid,代表sqlserver))
    (HS=OK)
  )
5,oracle中创建dblink
  CREATE PUBLIC DATABASE LINK MSSQLDB CONNECT TO LOGE IDENGIFIED BY ORACLE USING ‘conn_sql';
  查询:
  SELECT COUNT(*) FROM SYSCOLUMNS@LINK1;

方式2,gateways;
安装步骤参照网络,很多的,配置步骤类似,说明不一样地方,

1,如果gateways跟oracle安装在同一台服务器上,推荐安装在统一目录中
2,配置$ORACLE_HOME\tg4msql\admin目录下的ora配置文件,
内容大概如下
 HS_FDS_CONNECT_INFO=ip:1433//db_name
 HS_FDS_TRACE_LEVEL=OFF
 HS_FDS_RECOVERY_ACCOUNT=RECOVER
 HS_FDS_RECOVERY_PWD=RECOVER
注意这是sqlserver 2008的,其他版本可能不太一样
4,这里添加的PROGRAM为dg4msql
注意事项:
1,导入批量的中间表,
select 'create table ' + name + ' as select * from ' + name + '@MSSQLDB;' from sys.all_objects where type='U';
2,sqlserver数据库区分大小写问题,但是oracle如果创建的列或者表名等对象没有双引号因起来的花,是不区分大小写的,如果导入sqlserver的列名不一致就需要使用双引号因起来
如果向将sqlserver的列明改小写,
select 'alter table ' + b.name + ' rename column '+'"' + a.name + '"' +' to ' + lower(a.name) + ';'
from sys.all_columns a
left join sys.all_objects b on a.object_id = b.object_id
where a.object_id
in(select object_id from sys.all_objects where type='U');

本文参考文档:
http://www.oracle.com/technetwork/articles/gateways-096887-zhs.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝闻道-夕死可矣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值