数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

SQLserver链接服务器到Oracle


发布日期:2022年02月15日
 
SQLserver链接服务器到Oracle

SQL Server Express 访问 Oracle

EXEC masterdbosp_addlinkedserver

@server = NTESTLINK

@srvproduct=NOracle

@provider=NMSDAORA

@datasrc=NTEST

GO

这一句在 SQLServer 下创建一个数据库链接

连接名为TESTLINK

Oracle 数据源是 TEST

要求在SQL Server 的机器上面安装有Oracle 的客户端

那个Oracle 数据源配置文件在

E:oracleproductclient_NETWORKADMIN

目录下

内容为

# tnsnamesora Network Configuration File:E:oracleproductclient_networkadmintnsnamesora

# Generated by Oracle configuration tools

TEST =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = ORCL)

)

)

本机只安装了 SQL SERVER EXPRESS 与 Oracle 的客户端

Oralce 服务器安装在 另外一台机器上

EXEC

masterdbosp_addlinkedsrvlogin

@rmtsrvname = NTEST

@locallogin = NULL

@useself = NFalse

@rmtuser = Ntest

@rmtpassword = Ntest

GO

这一句是设置默认用什么用户名/密码来访问Oracle 数据库

上面的例子是用户名为test 密码为 test

数据库链接创建完毕后可以尝试查询

这里的TESTLINKTESTTEST_MAIN

第一个TESTLINK是数据库链接名

第二个TEST 是Oracle 那里的Test 用户的方案名

TEST_MAIN 是Test 用户下的一个表

> select * from TESTLINKTESTTEST_MAIN;

> go

ID VALUE

ONE

TWO

TWO

( 行受影响)

假如创建链接完毕后执行查询的时候提示MSDAORA 找不到Oracle 客户端的话如果本机安装的是Oracle / 那么有可能是权限的问题需要额外在操作系统那里设置一下

以本机为例子

需要选择E:oracleproductclient_这个目录

鼠标右键弹出菜单中选择“属性”

然后在“安全”选项中增加一个EveryOne 用户并设置完全控制

然后重新启动计算机

重新启动完毕后应该就正常了

上一篇:Oracle数据被删除(delete,drop)之后的恢复方式

下一篇:在oracle中进行列行转换