用过MS sql server2000 DTS 与oracle导数据和建表的XD进来。。 to njhart2003:只能手工吗?没有别的办法了?手工很麻烦的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用DTS是一种不爽的方法,个人建议用以下两种方法即可,在处理数据同步时,可使用Oracle中的物化视图进行处理利用异构服务代理(Heterogeneous Services ODBC Agent)实现ODBC配置:1、设置系统DSN;2、建立ODBC数据源,若MySQL需要事先安装MyODBC;3、定义新的数据源,本例为MSSQL的数据源,名称为MSODBC;4、数据源用户验证;5、选择相应数据库;6、数据源相关设置,一般不用更改;7、连接测试; 配置文件:initMSODBC.orainit<SID_Name>.ora文件路径:D:\oracle\ora92\hs\admin<oracle_home_directory>\hs\admin文件内容:# This is a sample agent init file that contains the HS parameters that are# needed for an ODBC Agent. ## HS init parameters#HS_FDS_CONNECT_INFO = MSODBC<ODBC Data Source Name>HS_FDS_TRACE_LEVEL = OFF跟踪开关<ON/OFF>跟踪文件路径:<oracle_home_directory>\hs\trace## Environment variables required for the non-Oracle system##set <envvar>=<value>配置文件:listener.ora文件路径:D:\oracle\ora92\network\admin<oracle_home_directory>\network\admin文件内容:SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\ora92) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = Fire) (ORACLE_HOME = D:\oracle\ora92) (SID_NAME = Fire) ) (SID_DESC= (SID_NAME = MSODBC)<SID_Name>,应与tnsnames.ora文件中的<SID_Name>相对应 (ORACLE_HOME = D:\oracle\ora92)<oracle_home_directory> (PROGRAM = HSODBC)<异构服务代理程序> ) )配置文件:tnsnames.ora文件路径:D:\oracle\ora92\network\admin<oracle_home_directory>\network\admin文件内容:MSODBC = <SID_Name>,应与listener.ora文件中的<SID_Name>相对应 (DESCRIPTION = (ADDRESS = (PROTOCOL=TCP) (HOST = RING_ASUS)<ODBC Server Name or IP Address> (PORT = 1521)监听端口,默认为1521 ) (CONNECT_DATA = (SID = MSODBC)<SID_Name> ) (HS = OK) )测试:1、重新启动Oracle监听服务,OracleOraHome92TNSListener;2、启动SQL Plus编辑器;3、用户验证;4、创建数据库链接,命令如下:SQL> create public database link msodbc connect to sa identified by baosight using 'msodbc';msodbc:数据库链接名sa:MSSQL数据库的用户名baosight:MSSQL数据库的用户密码'msodbc':SID_Name5、执行SQL语句:(除DDL,数据定义语言)SQL> select * from products@msodbc;products:表名@msodbc:数据库链接名6、丢弃数据库链接:SQL> drop public database link msodbc;msodbc:数据库链接名注意: 如果需要多个链接,请多重复上述操作!!! 在执行Insert、Update、Delete及View操作时,使用commit!!!另外: 还可以利用透明网关(Transparent Gateway For MSSQL) 透明网关(Transparent Gateway For MSSQL)。配置文件:inittg4msql.ora init<SID_Name>.ora文件路径:D:\oracle\ora92\tg4msql\admin <oracle_home_directory>\tg4msql\admin文件内容:# This is a sample agent init file that contains the HS parameters that are# needed for the Transparent Gateway for SQL Server## HS init parameters#HS_FDS_CONNECT_INFO="SERVER=192.168.0.247;DATABASE=pubs" SERVER=<MSSQL Server Name or IP Address>;DATABASE=<Database Name> 另一种写法:<MSSQL Server Name>.<Database Name>HS_FDS_TRACE_LEVEL=OFF 跟踪开关<ON/OFF> 跟踪文件路径:<oracle_home_directory>\tg4msql\traceHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER配置文件:listener.ora文件路径:D:\oracle\ora92\network\admin <oracle_home_directory>\network\admin文件内容:SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\ora92) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = Fire) (ORACLE_HOME = D:\oracle\ora92) (SID_NAME = Fire) ) (SID_DESC= (SID_NAME = MSSQL) <SID_Name>,应与tnsnames.ora文件中的<SID_Name>相对应 (ORACLE_HOME = D:\oracle\ora92) <oracle_home_directory> (PROGRAM = tg4msql) <透明网关程序> ) )配置文件:tnsnames.ora文件路径:D:\oracle\ora92\network\admin <oracle_home_directory>\network\admin文件内容:MSSQL = <SID_Name>,应与listener.ora文件中的<SID_Name>相对应 (DESCRIPTION = (ADDRESS = (PROTOCOL=TCP) (HOST = RING_ASUS) <TG Server Name or IP Address> (PORT = 1521) 监听端口,默认为1521 ) (CONNECT_DATA = (SID = MSSQL) <SID_Name> ) (HS = OK) )测试同上。 请教一句SQL查询统计的问题,请大家帮忙一下 oracle11g如何用IE登录sqlplus 新建工作组后不能远程连接数据库 诚恳的请各位大神们进来看看!!!,oracle的语句,不胜感激! 数据库管理优化技术介绍 oracle 作档案系统,怎么保存大文件 PL/SQL数据生成器问题 sql 里怎么把查询到的结果自动编号 请教关于数据导入导出的问题! 是否有SQL命令表,可以如MSN那样可以进行搜索? SQL server到oracle 请教一个数据合并的sql语句
1、设置系统DSN;
2、建立ODBC数据源,若MySQL需要事先安装MyODBC;
3、定义新的数据源,本例为MSSQL的数据源,名称为MSODBC;
4、数据源用户验证;
5、选择相应数据库;
6、数据源相关设置,一般不用更改;
7、连接测试; 配置文件:initMSODBC.orainit<SID_Name>.ora
文件路径:D:\oracle\ora92\hs\admin<oracle_home_directory>\hs\admin
文件内容:
# This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent. #
# HS init parameters
#
HS_FDS_CONNECT_INFO = MSODBC<ODBC Data Source Name>
HS_FDS_TRACE_LEVEL = OFF跟踪开关<ON/OFF>
跟踪文件路径:<oracle_home_directory>\hs\trace
#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>配置文件:listener.ora
文件路径:D:\oracle\ora92\network\admin<oracle_home_directory>\network\admin
文件内容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = Fire)
(ORACLE_HOME = D:\oracle\ora92)
(SID_NAME = Fire)
)
(SID_DESC=
(SID_NAME = MSODBC)<SID_Name>,应与tnsnames.ora文件中的<SID_Name>相对应
(ORACLE_HOME = D:\oracle\ora92)<oracle_home_directory>
(PROGRAM = HSODBC)<异构服务代理程序>
)
)配置文件:tnsnames.ora
文件路径:D:\oracle\ora92\network\admin<oracle_home_directory>\network\admin
文件内容:
MSODBC = <SID_Name>,应与listener.ora文件中的<SID_Name>相对应
(DESCRIPTION =
(ADDRESS =
(PROTOCOL=TCP)
(HOST = RING_ASUS)<ODBC Server Name or IP Address>
(PORT = 1521)监听端口,默认为1521
)
(CONNECT_DATA =
(SID = MSODBC)<SID_Name>
)
(HS = OK)
)测试:
1、重新启动Oracle监听服务,OracleOraHome92TNSListener;
2、启动SQL Plus编辑器;
3、用户验证;
4、创建数据库链接,命令如下:
SQL> create public database link msodbc connect to sa identified by baosight using 'msodbc';
msodbc:数据库链接名
sa:MSSQL数据库的用户名
baosight:MSSQL数据库的用户密码
'msodbc':SID_Name5、执行SQL语句:(除DDL,数据定义语言)
SQL> select * from products@msodbc;
products:表名
@msodbc:数据库链接名6、丢弃数据库链接:
SQL> drop public database link msodbc;
msodbc:数据库链接名注意:
如果需要多个链接,请多重复上述操作!!!
在执行Insert、Update、Delete及View操作时,使用commit!!!另外:
还可以利用透明网关(Transparent Gateway For MSSQL)
文件路径:D:\oracle\ora92\tg4msql\admin <oracle_home_directory>\tg4msql\admin
文件内容:
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server#
# HS init parameters
#
HS_FDS_CONNECT_INFO="SERVER=192.168.0.247;DATABASE=pubs" SERVER=<MSSQL Server Name or IP Address>;DATABASE=<Database Name>
另一种写法:<MSSQL Server Name>.<Database Name>
HS_FDS_TRACE_LEVEL=OFF 跟踪开关<ON/OFF>
跟踪文件路径:<oracle_home_directory>\tg4msql\trace
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER配置文件:listener.ora
文件路径:D:\oracle\ora92\network\admin <oracle_home_directory>\network\admin
文件内容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = Fire)
(ORACLE_HOME = D:\oracle\ora92)
(SID_NAME = Fire)
)
(SID_DESC=
(SID_NAME = MSSQL) <SID_Name>,应与tnsnames.ora文件中的<SID_Name>相对应
(ORACLE_HOME = D:\oracle\ora92) <oracle_home_directory>
(PROGRAM = tg4msql) <透明网关程序>
)
)配置文件:tnsnames.ora
文件路径:D:\oracle\ora92\network\admin <oracle_home_directory>\network\admin
文件内容:
MSSQL = <SID_Name>,应与listener.ora文件中的<SID_Name>相对应
(DESCRIPTION =
(ADDRESS =
(PROTOCOL=TCP)
(HOST = RING_ASUS) <TG Server Name or IP Address>
(PORT = 1521) 监听端口,默认为1521
)
(CONNECT_DATA =
(SID = MSSQL) <SID_Name>
)
(HS = OK)
)测试同上。