oracle链接ms sql问题 本帖最后由 qq271175778 于 2011-01-13 16:24:07 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考:SQL和ORACLE之间的数据查询配置透明网关的步骤前一段花了些时间配置 TRANSPARENT GATEWAY现在把心得贴出来与大家共享我的OS是WIN2000 ORACLE 9.0SQLSERVER2000HOSTNAME : SVR1都使用 tcp/ip 默认端口1: 安装 TRANSPARENT GATEWAY 选件(我安装的是FOR MSSQL) 安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql2: 配置 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<SID>.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=RECOVER4: 重启 DATABASE AND LISTENER5: 配置 tnsnames.oratg_sql = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = SVR1)(PORT = 1521)) ) (CONNECT_DATA = (SID = sql2000) ) (HS=OK) ) 6: 建立 DATABASE LINKCREATE PUBLIC DATABASE LINK DB_SQLCONNECT TO SA IDENTIFIED BY PASSWORDUSING 'tg_sql'7: 完成,测试 select * from t_test@db_sql8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置, 如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到, 如果为 FALSE, 不必使用全称,当出现 “ORA-02019:为找到远程数据库的连接说明” 时,请使用全称,如: select * from t_test@db_sql.US.ORACLE.COM 在SQL SERVER 20000中访问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 = (ADDRESS = (PROTOCOL = TCP)(HOST = 132.149.7.19)(PORT = 1521)) ) (CONNECT_DATA = (SID = test) ) )2. 使用MS SQL的openrowset函数select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID使用这种方式一定要用别名才行3.使用ODBC方式select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.IDXST4_ODBC是ODBC数据源4.使用链接服务器方式EXEC SP_ADDLINKEDSERVER@server='mylinkedserver', --链接服务器名称@srvproduct='Oracle', --固定@provider='MSDAORA', --固定@datasrc='XST4' --Oracle本地服务名该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=17285 谢谢楼上~~ 同操作系统的我知道~~但是我想问问怎么在 UNIX上安装透明网关~怎么 3 4 5 6楼不见了`~ oracle表连接问题 弱实体集 SSB模型测试oracle怎么建表才能使查询性能最优? 请大侠来:PLSQL块中执行DDL语句的问题 请教有关oracle的初级问题 ORACLE 注释乱码的问题 求救!!请各位帮忙!谢谢!急用阿! Oracle 游标问题,从游标取出的数据如何存储到数据集里去呢? 如何导入oracle的备份[菜鸟问题] Oracle9i存储过程问题? 两个比较简单的oracle问题 sql plus 无效数字???
SQL和ORACLE之间的数据查询配置透明网关的步骤
前一段花了些时间配置 TRANSPARENT GATEWAY
现在把心得贴出来与大家共享我的OS是WIN2000
ORACLE 9.0
SQLSERVER2000
HOSTNAME : SVR1
都使用 tcp/ip 默认端口
1: 安装 TRANSPARENT GATEWAY 选件(我安装的是FOR MSSQL)
安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql2: 配置 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<SID>.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=RECOVER4: 重启 DATABASE AND LISTENER5: 配置 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_sql8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,
如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,
如果为 FALSE, 不必使用全称,当出现
“ORA-02019:为找到远程数据库的连接说明”
时,请使用全称,如:
select * from t_test@db_sql.US.ORACLE.COM
要求:本地安装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 =
(ADDRESS = (PROTOCOL = TCP)(HOST = 132.149.7.19)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
)
)2. 使用MS SQL的openrowset函数
select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A
order by A.ID
使用这种方式一定要用别名才行3.使用ODBC方式
select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
XST4_ODBC是ODBC数据源4.使用链接服务器方式
EXEC SP_ADDLINKEDSERVER
@server='mylinkedserver', --链接服务器名称
@srvproduct='Oracle', --固定
@provider='MSDAORA', --固定
@datasrc='XST4' --Oracle本地服务名
该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=17285
同操作系统的我知道~~但是我想问问怎么在 UNIX上安装透明网关~
怎么 3 4 5 6楼不见了`~