知识大全 访问多个SQL Server数据库
Posted 数据库
篇首语:历览千载书,时时见遗烈。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 访问多个SQL Server数据库相关的知识,希望对你有一定的参考价值。
访问多个SQL Server数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
假设我们要在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/17434相关参考
用DELPHI编程访问SQLSERVER数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! D
知识大全 SQL Server如何访问sybase数据库的表
SQLServer如何访问sybase数据库的表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
通过HTTP访问SQLServer2000 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一建立
知识大全 SQL Server 2005 控制用户权限访问表
SQLServer2005控制用户权限访问表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一需
解决限制访问SQLServer的IP地址的办法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
当我正在为表建立索引的时候,SQLServer会禁止对表的访问吗? 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
知识大全 sql server 2000安装后,打开服务器,不出现服务器名称,自己输入后名称后,启动时显示拒绝访问
sqlserver2000安装后,打开服务器,不出现服务器名称,自己输入后名称后,启动时显示拒绝访问?1>网卡有问题请检查,以太网适配器是否安装正确2>协议有问题请检查,TCP/IP协议,
使用PowerBuilder同时访问多个数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! P
知识大全 SQL Server 2005和SQL Server 2000数据的相互导入
SQLServer2005和SQLServer2000数据的相互导入 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
用SQL语句完成SQLServer数据库的修复 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使