该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
SQL Server 下面创建一个 Oracle 的数据库链接。
然后简单执行一下 SQL 语句就完了啊......
SQL Server 2005 Express 访问 Oracle 10.
EXEC master.dbo.sp_addlinkedserver
@server = N'TESTLINK',
@srvproduct=N'Oracle',
@provider=N'MSDAORA',
@datasrc=N'TEST'
GO
这一句在 SQL Server 下创建一个 数据库链接。
连接名为 TESTLINK
Oracle 数据源是 TEST
要求在SQL Server 的机器上面,安装有 Oracle 的客户端。
那个 Oracle 数据源,配置文件在
E:\oracle\product\10.2.0\client_1\NETWORK\ADMIN
目录下。
内容为:
# tnsnames.ora Network Configuration File: E:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.210)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
如果不会手工配置,可运行 Oracle 的 Net Manager 来进行配置。
EXEC
master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N'TESTLINK',
@locallogin = NULL ,
@useself = N'False',
@rmtuser = N'test',
@rmtpassword = N'test123'
GO
这一句是设置 默认用什么 用户名/密码 来访问 Oracle 数据库。
上面的例子是 用户名为 test 密码为 test123
数据库链接创建完毕后,可以尝试查询:
这里的 TESTLINK..TEST.TEST_MAIN。
第一个 TESTLINK是数据库链接名
第二个 TEST 是 Oracle 那里的 Test 用户的方案名
TEST_MAIN 是 Test 用户下的一个表。
1> select * from TESTLINK..TEST.TEST_MAIN;
2> go
ID VALUE
---------------------------------------- ----------
1 ONE
2 TWO
3 TWO
(3 行受影响)
注:假如创建链接完毕后,执行查询的时候,提示"MSDAORA" 找不到 Oracle 客户端的话。
如果本机安装的是 Oracle 9 / 10 。 那么有可能是权限的问题,需要额外在操作系统那里设置一下。
以本机为例子:
需要选择 E:\oracle\product\10.2.0\client_1 这个目录。
鼠标右键,弹出菜单中,选择“属性”。
然后在 “安全”选项中,增加一个 EveryOne 用户。并设置 完全控制。
然后重新启动计算机。
重新启动完毕后,应该就正常了。