Install Oracle Transparent Gateway for Microsoft SQL Server Step By Step
2004-08-02 00:49
676 查看
Author: Kamus
Date: 2003-12
一、设置GATEWAY机器(Gateway可以和Oracle Database在同一台机器上,也可以分开)
1。安装透明网关
2。设置ORACLE_HOME/tg4msql/admin/inittg4msql.ora
修改:
HS_FDS_CONNECT_INFO="SERVER=BEIBEI;DATABASE=Northwind"
3。设置ORACLE_HOME/network/admin/listener.ora
更改为:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:/oracle/ora90)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = tg4msql)
(ORACLE_HOME = C:/oracle/ora90)
(PROGRAM = tg4msql)
)
(SID_DESC =
(GLOBAL_DBNAME = oradb.seraphim)
(ORACLE_HOME = C:/oracle/ora90)
(SID_NAME = oradb)
)
)
二、设置Oracle Database机器
4。设置ORACLE_HOME/network/admin/tnsnames.ora
(Oracle Server需要此配置使用gateway)
添加:
MSQL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = seraphim)(PORT = 1521))
)
(CONNECT_DATA =
(SID = tg4msql)
)
(HS = OK)
)
HOST:指Gateway所在的机器。
PORT:在GATEWAY机器中listener.ora文件里指定的监听gateway的端口
SID:必须和GATEWAY机器中listener.ora文件里指定的SID_NAME相同
HS = OK:指定该连接将使用Oracle的异构服务
5。检查ORACLE_HOME/network/admin/sqlnet.ora
如果文件中包含:
names.directory_path = (TNSNAMES, HOSTNAME)
names.default_domain = world
name.default_zone = world
这些行,那么4中的connect_descriptor必须添加.world后缀(如上例中MSQL必须为MSQL.world)
6。修改init.ora文件
设置global_names=false,重启数据库(如果原先的设置是global_names=true的话)。
否则会在执行sql时报错:ORA-02085: 数据库链接MSQL与HO.WORLD相连结
原因如下:The GLOBAL_NAMES parameter when set to TRUE implies that database link name should be
similar to the Global database name to which you are trying to connect.
7。创建Database Link
CREATE PUBLIC DATABASE LINK MSQL CONNECT TO
hr IDENTIFIED BY hr USING 'MSQL';
三、设置SQLServer服务器
8。创建用户hr/hr,并赋予相应数据库(本例中使用数据库Northwind)的检索权限或者写入权限。
9。现在可以通过如下SQL检索SQLServer中的数据了。
select count(*) from all_tables@msql;
select "OrderID","ShipName" from "Orders"@msql
select orders."OrderID",orderdet."Quantity",products."ProductName"
from "Orders"@msql orders,"Order Details"@msql orderdet,"Products"@msql products
where orders."OrderID"=orderdet."OrderID" and orderdet."ProductID"=products."ProductID"
注意,对于有大小写的表名和字段名需要加双引号来读取。
建议:为了在Oracle中方便的检索SQLServer的数据,可以在需要检索的表上创建视图(create view),
这样检索时就如同操作本地Oracle表一样。
Date: 2003-12
一、设置GATEWAY机器(Gateway可以和Oracle Database在同一台机器上,也可以分开)
1。安装透明网关
2。设置ORACLE_HOME/tg4msql/admin/inittg4msql.ora
修改:
HS_FDS_CONNECT_INFO="SERVER=BEIBEI;DATABASE=Northwind"
3。设置ORACLE_HOME/network/admin/listener.ora
更改为:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:/oracle/ora90)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = tg4msql)
(ORACLE_HOME = C:/oracle/ora90)
(PROGRAM = tg4msql)
)
(SID_DESC =
(GLOBAL_DBNAME = oradb.seraphim)
(ORACLE_HOME = C:/oracle/ora90)
(SID_NAME = oradb)
)
)
二、设置Oracle Database机器
4。设置ORACLE_HOME/network/admin/tnsnames.ora
(Oracle Server需要此配置使用gateway)
添加:
MSQL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = seraphim)(PORT = 1521))
)
(CONNECT_DATA =
(SID = tg4msql)
)
(HS = OK)
)
HOST:指Gateway所在的机器。
PORT:在GATEWAY机器中listener.ora文件里指定的监听gateway的端口
SID:必须和GATEWAY机器中listener.ora文件里指定的SID_NAME相同
HS = OK:指定该连接将使用Oracle的异构服务
5。检查ORACLE_HOME/network/admin/sqlnet.ora
如果文件中包含:
names.directory_path = (TNSNAMES, HOSTNAME)
names.default_domain = world
name.default_zone = world
这些行,那么4中的connect_descriptor必须添加.world后缀(如上例中MSQL必须为MSQL.world)
6。修改init.ora文件
设置global_names=false,重启数据库(如果原先的设置是global_names=true的话)。
否则会在执行sql时报错:ORA-02085: 数据库链接MSQL与HO.WORLD相连结
原因如下:The GLOBAL_NAMES parameter when set to TRUE implies that database link name should be
similar to the Global database name to which you are trying to connect.
7。创建Database Link
CREATE PUBLIC DATABASE LINK MSQL CONNECT TO
hr IDENTIFIED BY hr USING 'MSQL';
三、设置SQLServer服务器
8。创建用户hr/hr,并赋予相应数据库(本例中使用数据库Northwind)的检索权限或者写入权限。
9。现在可以通过如下SQL检索SQLServer中的数据了。
select count(*) from all_tables@msql;
select "OrderID","ShipName" from "Orders"@msql
select orders."OrderID",orderdet."Quantity",products."ProductName"
from "Orders"@msql orders,"Order Details"@msql orderdet,"Products"@msql products
where orders."OrderID"=orderdet."OrderID" and orderdet."ProductID"=products."ProductID"
注意,对于有大小写的表名和字段名需要加双引号来读取。
建议:为了在Oracle中方便的检索SQLServer的数据,可以在需要检索的表上创建视图(create view),
这样检索时就如同操作本地Oracle表一样。
相关文章推荐
- [转]Using the Microsoft Connector for Oracle by Attunity with SQL Server 2008 Integration Services
- Oracle Transparent Gateway for SQL Server安装配置说明
- oracle直接读写ms sqlserver数据库(一)如何下载oracle database gateway for sqlserver
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记十五:设计聚合(Aggregation)(下)
- 使用Microsoft SQL Server Migration Assistant for Oracle工具迁移数据
- 《Microsoft SQL Server 2008 MDX Step by Step》学习笔记四:了解表达式(Expression)
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记十二:从Analysis Services检索数据
- 《Microsoft SQL Server 2008 MDX Step by Step》学习笔记四:了解表达式(Expression)
- 《Microsoft SQL Server 2008 MDX Step by Step》学习笔记三:了解结果集(Sets)
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记九:使用帐户智能(下)
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记十一:与Cube交互(下)
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记十二:从Analysis Services检索数据
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记十五:设计聚合(Aggregation)(下)
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记十八:管理部署
- Install Connector for Microsoft Dynamics AX step by step
- 《Microsoft SQL Server 2008 MDX Step by Step》学习笔记六:生成复杂的集合(Sets)(下)
- 《Microsoft SQL Server 2008 MDX Step by Step》学习笔记十一:计算成员和动态命名集
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记一:入门
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记十七:管理分区及数据库处理(下)
- 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记十八:管理部署