一. SQLDB的配置
在SQL SERVER上建立用户testuser/testuser, 并授予可访问SQLTest的权限(Oracle数据库通过该用户访问SQL Server)。
二.GATEWAY的配置(%ORACLE_HOME% 如C:\Oracle\product\10.2.0\)
1.安装ORACLE10g的透明网关(Oracle Transparent Gateway)选项 Microsoft SQL Server。 安装时需要选择SQL SERVER主机和数据库(server:10.1.1.13, DB:SQLTest)。
2.安装SQL Server2000,因为是WINDOWS XP,所以只装了SQL Server 2000客户端。
3.拷贝%ORACLE_HOME%\tg4msql\admin\inittg4msql.ora改名为initSID_NAME.ora(example:initFinasvrHZ.ora),这是网关进程启动时需要的初始化文件,修改HS_FDS_CONNECT_INFO这行,其他的内容不变。比如:
HS_FDS_CONNECT_INFO="SERVER=Finasvr;DATABASE=SQLTest" or
HS_FDS_CONNECT_INFO="Finasvr.SQLTest"
4.修改%ORACLE_HOME%\network\admin 下listener.ora内容如下:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
)
#这边的HOST一定是localhost,而不是SQL SERVER那台机器
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\Oracle\product\10.2.0)
(PROGRAM = extproc)
)
(SID_DESC=
(SID_NAME=finasvrhz)
(ORACLE_HOME= C:\Oracle\product\10.2.0)
(PROGRAM=tg4msql)
)
)
5.重启动GateWay上(IP:192.168.100.6)TNSListener服务
三.ORADB的配置($ORACLE_HOME=/u01/app/oracle/oracle/product/10.2.0/db_1/)
在$ORACLE_HOME/network/admin/tnsnames.ora, 添加下面的内容
finasvrlk = # 连接字符串可以随便取
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.6)(PORT = 1521))
(CONNECT_DATA =
(SID = finasvrhz) #SID_NAME与上面的SID_NAME相同
)
(HS=OK) #固定为OK
)
保存tnsnames.ora后,可以用TNSPING命令测试listener
设置数据库参数global_names=false。
设置global_names=false不要求建立的数据库链接和目的数据库的全局名称一致。global_names=true则要求建立的数据库链接和目的数据库的全局名称一致。
alter system set global_names=false;
建立数据库链接:
create database link sqllink connect to testuser identified by “testuser” using ‘finasvrlk’;
访问SQL Server下数据库里的数据:
select * from temp@sqllink;
使用透明网关只可以用标准的 DML,并及时提交
关于出现ORA-28545错误,在我这发生的原因是因为配置了listner之后没有重新启动它,当然,前提是在设置都正确下,出现了这个错误。
SQL> select * from t@sqllink;
select * from t@sqllink
*
ERROR 位于第 1 行:
ORA-28545: 连接代理时 Net8 诊断到错误
NCRO:无法执行 RSLV 连接
ORA-02063: 紧接着2 lines(源于SQLLINK)
解决:lsnrctl stop / lsnrctl start
另外, 蓝色字体标明的几个名称要特别注意!
相关推荐
通过Oracle通用连接访问SQL Server数据库的方法为IT领域提供了一种跨数据库系统进行数据交互的有效途径。这种方法主要依赖于Oracle数据库的异构服务功能,允许用户从Oracle环境中直接查询或操作其他类型数据库(如...
### Oracle通过ODBC建立DBLink访问SQLServer数据库 在企业级应用环境中,不同数据库系统间的交互变得越来越频繁。为了实现Oracle数据库与SQLServer数据库之间的数据交换,可以通过多种方式实现连接,其中一种较为...
.oracle 到 SQL Server 跨库查询 Oracle 到 SQL Server 跨库查询是指通过网关工具将数据从 SQL Server 数据库中抽取到 Oracle 数据库中。这个过程需要安装和配置网关软件,并进行相应的设置和配置。 一、网关软件...
sqlserver关于表中存在text字段的导入oracle
3. **创建数据库链接**:创建一个指向 SQL Server 数据库的数据库链接,以便从 Oracle 数据库访问 SQL Server 数据库的数据: ``` CREATE DATABASE LINK pubs CONNECT TO sa IDENTIFIED BY sa USING 'pubs'; ``` ...
本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的开发人员来说尤其有用,因为它提供了一种在不同类型的数据库之间无缝切换...
Oracle、SQL Server 及 MySQL 对比 Oracle、SQL Server 及 MySQL 是目前最流行的三大关系数据库管理系统,各有其优缺点。本文将从表空间、查询语句、事务、分区表和分区索引、优缺点等方面对三者进行比较。 表空间...
### Oracle访问SQL Server透明网关配置详解 #### 一、业务背景及应用场景 在现代企业信息系统中,异构数据库环境普遍存在。例如,某些系统可能基于Oracle数据库构建,而其他系统则可能采用SQL Server或其他类型的...
### SQLServer2008R2与Oracle11gR2互连 #### 1. 简介 SQLServer2008 R2与Oracle11g R2分别是Microsoft和Oracle公司推出的重量级数据库系统,在不同的应用场景下各自拥有优势。在实际的企业环境中,往往需要在两种...
oracle通过ODBC建立dblink访问SqlServer数据库配置
SSMA是一款由微软提供的强大工具,旨在简化从Oracle、Sybase、MySQL和Access等不同平台向SQL Server及SQL Azure迁移的过程。 #### 二、SSMA for Oracle概述 SSMA for Oracle 是SSMA工具集的一员,主要用于帮助用户...
Oracle 和 SQL Server 都提供了动态视图(Dynamic Management Views, DMVs)来访问运行时的系统状态信息。这些视图可以帮助数据库管理员监控系统的性能,并进行必要的调优。例如,Oracle 的 V$SESSION 视图可以用来...
C#代码可以通过ADO.NET或者其他数据库访问库连接到SQL Server和Oracle,读取SQL Server的表结构,然后在Oracle中创建相应的表。 3. **注释迁移**:在SQL Server中的表注释和字段注释,通常存储在系统视图中。C#代码...
在本场景中,我们探讨的是如何在Oracle 19C RAC环境中通过Oracle数据库网关(Gateway)连接到SQL Server 2012数据库。Oracle Gateway使得不同数据库系统间的数据交互成为可能,实现异构数据库间的透明访问。 首先,...
OPENDATASOURCE 是 SQL Server 中的一个系统存储过程,用于访问外部数据源的数据。我们可以使用 OPENDATASOURCE 来连接 Oracle 数据库。下面是一个示例代码: ```sql SELECT * FROM OPENDATASOURCE( 'MSDAORA', '...
oracle与sql server互相访问
透明网关是Oracle数据库提供的一种技术,允许Oracle客户端通过Oracle服务器访问非Oracle数据库,例如SQL Server,无需修改现有的应用程序代码。这种技术的核心在于提供了一种透明的接口,使得Oracle客户端可以像操作...
HS_FDS_CONNECT_INFO="SERVER=sqlserver_hostname;DATABASE=pubs" HS_DB_NAME=pubs HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER ``` - `initnorthwind.ora`: ``` ...