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 用户并设置完全控制
然后重新启动计算机
重新启动完毕后应该就正常了