知识大全 访问多个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编程访问SQL SERVER数据库

用DELPHI编程访问SQLSERVER数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  D

知识大全 SQL Server如何访问sybase数据库的表

SQLServer如何访问sybase数据库的表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 通过HTTP访问SQL Server 2000

通过HTTP访问SQLServer2000  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一建立

知识大全 SQL Server 2005 控制用户权限访问表

SQLServer2005控制用户权限访问表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一需

知识大全 解决限制访问SQL Server的IP地址的办法

解决限制访问SQLServer的IP地址的办法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗

当我正在为表建立索引的时候,SQLServer会禁止对表的访问吗?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 sql server 2000安装后,打开服务器,不出现服务器名称,自己输入后名称后,启动时显示拒绝访问

sqlserver2000安装后,打开服务器,不出现服务器名称,自己输入后名称后,启动时显示拒绝访问?1>网卡有问题请检查,以太网适配器是否安装正确2>协议有问题请检查,TCP/IP协议,

知识大全 使用PowerBuilder同时访问多个数据库

使用PowerBuilder同时访问多个数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  P

知识大全 SQL Server 2005和SQL Server 2000数据的相互导入

SQLServer2005和SQLServer2000数据的相互导入  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 用SQL语句完成SQL Server数据库的修复

用SQL语句完成SQLServer数据库的修复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使