知识大全 在ORACLE里设置访问多个SQL Server数据库
Posted 数据库
篇首语:面对艰难困苦,懦弱者被磨去棱角;勇敢者将意志品质磨砺得更为坚强。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在ORACLE里设置访问多个SQL Server数据库相关的知识,希望对你有一定的参考价值。
在ORACLE里设置访问多个SQL Server数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ORACLE访问SQL SERVER数据库有一篇《Oracle 异构服务实践》讲得很清楚 但里面没有讲如何设置访问多个SQL Server数据库 我就补充一下 假设我们要在ORACLE里同时能访问SQL Server里默认的pubs和Northwind两个数据库 在安装了ORACLE i Standard Edition或者ORACLE i Enterprise Edition的windows机器上(IP: ) 产品要选了透明网关(Oracle Transparent Gateway)里要访问Microsoft SQL Server数据库 $ORACLE I_HOME\\tg msql\\admin下新写initpubs ora和initnorthwind ora配置文件 initpubs ora内容如下: HS_FDS_CONNECT_INFO= SERVER=sqlserver_hostname;DATABASE=pubs HS_DB_NAME=pubs HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER initnorthwind ora内容如下: HS_FDS_CONNECT_INFO= SERVER=sqlserver_hostname;DATABASE=Northwind HS_DB_NAME=Northwind HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER (蓝色字的部分可以根据具体要访问的SQL Server数据库的情况而修改) $ORACLE I_HOME\\neork\\admin 下listener ora内容如下: LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = test ) (ORACLE_HOME = d:\\oracle\\ora ) (SID_NAME = test ) ) (SID_DESC= (SID_NAME=pubs) (ORACLE_HOME=d:\\Oracle\\Ora ) (PROGRAM=tg msql) ) (SID_DESC= (SID_NAME=northwind) (ORACLE_HOME=d:\\Oracle\\Ora ) (PROGRAM=tg msql) ) ) 重启动这台做gateway的windows机器上(IP: )TNSListener服务 (凡是按此步骤新增可访问的SQL Server数据库时 TNSListener服务都要重启动) ORACLE I ORACLE I的服务器端配置tnsnames ora 添加下面的内容: pubs = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )) ) (CONNECT_DATA = (SID = pubs) ) (HS = pubs) ) northwind = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )) ) (CONNECT_DATA = (SID = northwind) ) (HS = northwind) ) 保存tnsnames ora后 在命令行下 tnsping pubs tnsping northwind 出现类似提示 即为成功 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ) (PORT = ))) (CONNECT_DATA = (SID = pubs)) (HS = pubs)) OK( 毫秒) Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ) (PORT = ))) (CONNECT_DATA = (SID = northwind)) (HS = northwind)) OK( 毫秒) 设置数据库参数global_names=false 设置global_names=false不要求建立的数据库链接和目的数据库的全局名称一致 global_names=true则要求 多少有些不方便 oracle i和oracle i都可以在DBA用户下用SQL命令改变global_names参数 alter system set global_names=false; 建立公有的数据库链接: create public database link pubs connect to testuser identified by testuser_pwd using pubs ; create public database link northwind connect to testuser identified by testuser_pwd using northwind ; (假设SQL Server下pubs和northwind已有足够权限的用户登录testuser 密码为testuser_pwd) 访问SQL Server下数据库里的数据: select * from stores@pubs; select * from region@northwind; 使用时的注意事项 ORACLE通过访问SQL Server的数据库链接时 用select * 的时候字段名是用双引号引起来的 例如 create table stores as select * from stores@pubs; select zip from stores ERROR 位于第 行: ORA : 无效列名 select zip from stores; zip 已选择 行 用SQL Navigator或Toad看从SQL Server转移到ORACLE里的表的建表语句为: CREATE TABLE stores ( stor_id CHAR( ) NOT NULL stor_name VARCHAR ( ) stor_address VARCHAR ( ) city VARCHAR ( ) state CHAR( ) zip CHAR( )) PCTFREE PCTUSED INITRANS MAXTRANS TABLESPACE users STORAGE ( INITIAL NEXT PCTINCREASE MINEXTENTS MAXEXTENTS ) / 总结: WINDOWS下ORACLE i网关服务器在$ORACLE I_HOME\\tg msql\\admin目录下的initsqlserver_databaseid ora WINDOWS下ORACLE i网关服务器listener ora里面 (SID_DESC= (SID_NAME=sqlserver_databaseid) (ORACLE_HOME=d:\\Oracle\\Ora ) (PROGRAM=tg msql) ) UNIX或WINDOWS下ORACLE I ORACLE I服务器tnsnames ora里面 northwind = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )) ) (CONNECT_DATA = (SID = sqlserver_databaseid) ) (HS = sqlserver_databaseid) ) sqlserver_databaseid一致才行 cha138/Article/program/Oracle/201311/16587相关参考
通过HTTP访问SQLServer2000 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一建立
知识大全 SQL Server 2005 控制用户权限访问表
SQLServer2005控制用户权限访问表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一需
用DELPHI编程访问SQLSERVER数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! D
知识大全 SQL Server如何访问sybase数据库的表
SQLServer如何访问sybase数据库的表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
解决限制访问SQLServer的IP地址的办法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
当我正在为表建立索引的时候,SQLServer会禁止对表的访问吗? 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
()首先启动SQlServer代理(如果备份出现问题代理会通知管理员) ()在服务器对象里面>新建备份设备 ()创建操作员当备份成功或者失败的时候通过网络通信通知管理员 ()在管理里面
SQLServer和Oracle的常用函数对比 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数
知识大全 Oracle 专业人员使用的SQL Server 2000
Oracle专业人员使用的SQLServer2000 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Oracle和SQL Server存储调试和出错处理
Oracle和SQLServer存储调试和出错处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!