Oracle作业(job) + 透明网关.透明网关设置: 配置透明网关的步骤 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===================================================================基本步骤 说明: HostName:dmserver Win2000 Server Oracle Database 9.2.0.1.0 Microsoft SQL Server 2000 UserName:User Password:User Database:CFDai TableName:Test 都使用 tcp/ip 默认端口1521 基本步骤: 1: 安装 TRANSPARENT GATEWAY FOR MSSQL选件,输入主机名和数据库名 安装完后,在d:\oracle\ora92的目录下产生一个目录D:\oracle\ora92\tg4msql 同时,自动生成文件:inittg4msql.ora 其中内容为: HS_FDS_CONNECT_INFO=dmserver.CFDai #服务器名.数据库名 HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER 注:第一行可写为HS_FDS_CONNECT_INFO="dmserver;DATABASE=CFDai"2: 配置 LISTENER.ORA SID_LIST_LISTENER = (SID_LIST = …… (SID_DESC = (GLOBAL_DBNAME = tg4msql) #可重命名 (PROGRAM = tg4msql) (SID_NAME = tg4msql) #可重命名 (ORACLE_HOME = D:\oracle\ora92) #数据库主目录名 ) )3: 停止并重启 DATABASE 和 LISTENER服务4: 配置 tnsnames.ora,在文件尾增加以下内容: tg4msql = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dmserver)(PORT = 1521)) ) (CONNECT_DATA = (SID = tg4msql) ) (HS=OK) )5: 在SQL Plus或SQLPlus Worksheet中通过如下语句建立数据库连接 CREATE PUBLIC DATABASE LINK DB_SQL CONNECT TO User IDENTIFIED by User USING 'tg4msql';6: 在SQL Plus或SQLPlus Worksheet中测试 select * from test@DB_SQL;7:取消数据库连接 DROP PUBLIC DATABASE LINK DB_SQL;
用DTS定时包。SQL SERVER里自带,简单又实用。这个我以前做过。
to chanet 你例子是ORACLE发起,这样是不是会增加服务器的开销,我的意思想SQL SERVER 作为发起者,让SQL SERVER 到ORACLE上取指定表中的数据, 注:SQL SERVER 和ORACLE 不在同一服务器上
用DTS定义好数据源和目标及要转换的数据,再用调度执行。
EXEC sp_addlinkedserver 'OracleSvr', 'Oracle 7.3', 'MSDAORA', 'ORCLDB' GO SELECT * into 本地库名..表名 --如果本地未建表 FROM OPENQUERY(OracleSvr, 'SELECT name, id FROM joe.titles') GO
配置透明网关的步骤
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===================================================================基本步骤
说明:
HostName:dmserver
Win2000 Server Oracle Database 9.2.0.1.0 Microsoft SQL Server 2000
UserName:User Password:User
Database:CFDai TableName:Test
都使用 tcp/ip 默认端口1521
基本步骤:
1: 安装 TRANSPARENT GATEWAY FOR MSSQL选件,输入主机名和数据库名
安装完后,在d:\oracle\ora92的目录下产生一个目录D:\oracle\ora92\tg4msql
同时,自动生成文件:inittg4msql.ora
其中内容为:
HS_FDS_CONNECT_INFO=dmserver.CFDai #服务器名.数据库名
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
注:第一行可写为HS_FDS_CONNECT_INFO="dmserver;DATABASE=CFDai"2: 配置 LISTENER.ORA
SID_LIST_LISTENER =
(SID_LIST =
……
(SID_DESC =
(GLOBAL_DBNAME = tg4msql) #可重命名
(PROGRAM = tg4msql)
(SID_NAME = tg4msql) #可重命名
(ORACLE_HOME = D:\oracle\ora92) #数据库主目录名
)
)3: 停止并重启 DATABASE 和 LISTENER服务4: 配置 tnsnames.ora,在文件尾增加以下内容:
tg4msql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dmserver)(PORT = 1521))
)
(CONNECT_DATA =
(SID = tg4msql)
)
(HS=OK)
)5: 在SQL Plus或SQLPlus Worksheet中通过如下语句建立数据库连接
CREATE PUBLIC DATABASE LINK DB_SQL CONNECT TO User IDENTIFIED by User USING 'tg4msql';6: 在SQL Plus或SQLPlus Worksheet中测试
select * from test@DB_SQL;7:取消数据库连接
DROP PUBLIC DATABASE LINK DB_SQL;
注:SQL SERVER 和ORACLE 不在同一服务器上
'Oracle 7.3',
'MSDAORA',
'ORCLDB'
GO
SELECT * into 本地库名..表名 --如果本地未建表
FROM OPENQUERY(OracleSvr, 'SELECT name, id FROM joe.titles')
GO