ITPub博客

首页 > 数据库 > Oracle > WinXP Oracle 10g与SQL Server的透明网关配置

WinXP Oracle 10g与SQL Server的透明网关配置

原创 Oracle 作者:wuweicai 时间:2008-08-26 15:35:45 0 删除 编辑

1. 安装Oracle透明网关,对于WinXp下的Oralce的透明网关安装过程如下:

由于安装Oracle服务端时,该透明网关软件不会自动选上,需要人为选择。对于已经安装了服务的数据库也可以按照下面步骤来安装。

注意:选择高级安装,然后选择下一步按钮。

选择下一步按钮。

选择定制radio按钮

选中红色部门,然后点击下一步

2. 安装完之后,检测在$ORACLE_HOME(例如:D:oracleproduct10.1.0db_1)下是否存在tg4msql目录,如存在则表示安装了SQL server透明网关;

3. 配置监听文件:

添加:

(SID_DESC =

(SID_NAME = MSSQL)

(ORACLE_HOME = D:oracleproduct10.1.0Db_1)

(PROGRAM = tg4msql)

)

说明:MSSQL:自己配置的SID,可以任何名称

D:oracleproduct10.1.0Db_1:当前数据库安装路径

例如,原先的listener.ora的文件内容如下:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = D:oracleproduct10.1.0Db_1)

(PROGRAM = extproc)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = wuwc.septwolves.com)(PORT = 1521))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

)

)

修改后的内容如下:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = D:oracleproduct10.1.0Db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = MSSQL)

(ORACLE_HOME = D:oracleproduct10.1.0Db_1)

(PROGRAM = tg4msql)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = wuwc.septwolves.com)(PORT = 1521))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

)

)

红色部门表示添加的

4. 配置tnsnames.ora的文件:

LOCAL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = wuwc.septwolves.com)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = local)

)

)

mssql =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = wuwc.septwolves.com)(PORT = 1521))

(CONNECT_DATA = (SID = MSSQL))

(HS=OK)

)

注意:这里的SID=“MSSQL”必须于listener.ora配置文件增加的SID_NAME的名称相同。

5. 增加init(SID).Ora文件:

在$Oracle_Home tg4msqladmin增加文件init(SID).Ora,其中SID的值为tnsnames.ora文件新增加的SID的属性值相同。该文件的内容是:

HS_FDS_CONNECT_INFO="SERVER=WUWCSQLEXPRESS;DATABASE=Asset"

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

红色部分根据sqlserver的不同做相应的修改

6. 重新启动监听程序:

7. 建数据连接:

在oracle数据库上面创建数据连接:

create database link SQL2K --根据爱好做修改

connect to SA identified by “winsocket” –sa的密码

using 'MSSQL'; --根tnsnames.ora配置的匿名相同

8. 测试是否成功:

在sql*plus 上面执行Select * from tb_codename@sql2k;假如有数据表示成功,当然tb_codename必须要在sqlserver数据库存在。

9. 注意点、疑问和解答:

a) 注意点:

l listener.ora、 tnsnames.ora和$ORACLE_HOMEtg4msqladmin下的init(sid).ora的Sid都要相同;

l 建立数据连接时using必须要用tnsnames.ora下的匿名

b) 疑问1:tnsping mssql不通或者其它情况,请重新配置listen文件

c) 使用连接查询某个表的字段必须要区分大小写和使用 双引号来引住某个字段,例如:

Sqlserver :tb_codename 的字段为:CodeType等,则在使用连接查询时,要使用这样的语句:

Select “CodeType”,” from tb_codename@sql2k;

不能使用如下语句:

Select CodeType from tb_codename@sql2k;

Select “codetype” from tb_codename@sql2k;

等,就是要注意大小写[@more@]

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

请登录后发表评论 登录
全部评论

注册时间:2008-06-30

  • 博文量
    15
  • 访问量
    436222