手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

使Oracle能同时访问多个SQL Server

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
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;

            ......  ......

3、使用时的注意事项

ORACLE通过访问SQL Server的数据库链接时,用select * 的时候字段名是用双引号引起来的。

例如:

create table stores as select * from stores@pubs;

            select zip from stores;

            ERROR 位于第 1 行:

            ORA-00904: 无效列名

            select "zip" from stores;

            zip

            -----

            98056

            92789

            96745

            98014

            90019

            89076

已选择6行,用SQL Navigator或Toad看从SQL Server转移到ORACLE里的表的建表语句为:

CREATE TABLE stores

            ("stor_id"                      CHAR(4) NOT NULL,

            "stor_name"                    VARCHAR2(40),

            "stor_address"                 VARCHAR2(40),

            "city"                         VARCHAR2(20),

            "state"                        CHAR(2),

            "zip"                          CHAR(5))

            PCTFREE     10

            PCTUSED     40

            INITRANS    1

            MAXTRANS    255

            TABLESPACE  users

            STORAGE   (

            INITIAL     131072

            NEXT        131072

            PCTINCREASE 0

            MINEXTENTS  1

            MAXEXTENTS  2147483645

            )

            /

总结:

Windows下Oracle9i网关服务器在$Oracle9i_HOME\tg4msql\admin目录下的initsqlserver_databaseid.ora。Windows下Oracle9i网关服务器listener.ora里面:

(SID_DESC=

            (SID_NAME=sqlserver_databaseid)

            (ORACLE_HOME=d:\Oracle\Ora92)

            (PROGRAM=tg4msql)

            )

            UNIX或WINDOWS下ORACLE8I,ORACLE9I服务器tnsnames.ora里面

            northwind =

            (DESCRIPTION =

            (ADDRESS_LIST =

            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))

            )

            (CONNECT_DATA =

            (SID = sqlserver_databaseid)

            )

            (HS = sqlserver_databaseid)

            )

需要sqlserver_databaseid一致才行。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!