sql 2008 查询 oracle,sql 2008 链接到oracle,但是不能查询,报错,

sql 2008 链接到oracle,但是不能查询,报错,急,在线等

用sql 2008 管理器创建了一个链接oracle 的服务器,创建成功了,能看见oracle的表,但是在sql 写

SELECT *

FROM [ORCL]..[ZHOU].[ACCOUNTANT_SUBJECT]  语句,执行查询操作,但是报错

消息 7320,级别 16,状态 2,第 1 行

无法对链接服务器 "ORCL" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 执行查询

------解决方案--------------------

访问时应该使用全称.如下:

SQL和ORACLE之间的数据查询

配置透明网关的步骤

前一段花了些时间配置 TRANSPARENT GATEWAY

现在把心得贴出来与大家共享

我的OS是WIN2000

ORACLE 9.0

SQLSERVER2000

HOSTNAME : SVR1

都使用 tcp/ip 默认端口

1: 安装 TRANSPARENT GATEWAY 选件(我安装的是FOR MSSQL)

安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql

2: 配置 LISTENER.ORA

(SID_DESC =

(GLOBAL_DBNAME = tg4sql) # 可自己命名

(PROGRAM = tg4msql)

(SID_NAME = sql2000)  # SID 自己命名

(ORACLE_HOME = D:\oracle\ora90)

)

3: 在 oracle_home\ora90\tg4msql\admin

建文件 init.ora 由于LISTENER里定义SID为 sql2000

因此文件名为:initsql2000.ora

其中内容为:

HS_FDS_CONNECT_INFO=svr1.master # svr1为SQL服务器名

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

4: 重启 DATABASE AND LISTENER

5: 配置 tnsnames.ora

tg_sql =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = SVR1)(PORT = 1521))

)

(CONNECT_DATA =

(SID = sql2000)

)

(HS=OK)

)

6: 建立 DATABASE LINK

CREATE PUBLIC DATABASE LINK DB_SQL

CONNECT TO SA IDENTIFIED BY PASSWORD

USING 'tg_sql'

7: 完成,测试

select * from t_test@db_sql

8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,

如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,

如果为 FALSE, 不必使用全称,当出现

“ORA-02019:为找到远程数据库的连接说明”

时,请使用全称,如:

select * from t_test@db_sql.US.ORACLE.COM

------解决方案--------------------

如下一些方法也行.

在SQL SERVER 2000中访问Oracle数据库服务器的几种方法

1.通过行集函数opendatasource

要求:本地安装Oracle客户端

select *  from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL

其中,MSDAORA是OLEDB FOR Oracle的驱动,

注意:用户名和表名一定要大小,服务器和用户名之间是两个点;

例如:

select top 10 *  from opendatasource('MSDAORA', 'Data Source=HZTEST;User ID=osstest;Password=a1234')..OSSTEST.SUBSCRIBER

本地Oracle客户端配置文件中内容如下:

HZTEST =

(DESCRIPTION =

(ADDRESS_LIST =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值