SQLserver链接服务器到Oracle

  SQL Server 2005 Express 访问 Oracle 10

  EXEC master.dbo.sp_addlinkedserver

   @server = N'TESTLINK',

   @srvproduct=N'Oracle',

   @provider=N'MSDAORA',

   @datasrc=N'TEST'

  GO

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

  连接名为TESTLINK

  Oracle 数据源是 TEST

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

  那个Oracle 数据源,配置文件在

  E:oracleproduct10.2.0client_1NETWORKADMIN

  目录下。

  内容为:

  # tnsnames.ora Network Configuration File:E:oracleproduct10.2.0client_1networkadmintnsnames.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)

   )

   )

  注: 本机只安装了 SQL SERVER EXPRESS 与 Oracle 10 的客户端。

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

  EXEC

   master.dbo.sp_addlinkedsrvlogin

   @rmtsrvname = N'TEST',

   @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:oracleproduct10.2.0client_1这个目录。

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

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

  然后重新启动计算机。

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

时间: 2024-08-19 20:58:23

SQLserver链接服务器到Oracle的相关文章

sql server-SQL2008下通过链接服务器远程访问ORACLE的数据兼任问题

问题描述 SQL2008下通过链接服务器远程访问ORACLE的数据兼任问题 方式1,直接使用MS的MSDAORA驱动: EXEC sp_addlinkedserver@server='ODS'--链接服务器名称@srvproduct='Oracle'--固定@provider='MSDAORA'--固定@datasrc='ODSDB_WT' 方式2,使用ORACLE带的驱动,Oracle Provider for OLE DB进行查询: select top 10 * from ODS..EDM

应用 SQLServer 链接服务器访问远程 Access 数据库

access|server|sqlserver|访问|服务器|链接|数据|数据库     Web 开发中,经常要用到 Access 数据库.但是由于 Access 是一种文件型数据库,所以无法跨服务器进行访问.经过笔者的探索,发现可以利用 SQL Server 的链接服务器,把地理上分散的 Access 数据库整合起来,使 Access 数据库具有跨越 Web 服务器群的能力.这样做,还可以使 Access 数据库与 SQL Server,甚至 Oracle 等网络数据库连接起来,实现异构数据库

SQLServer通过链接服务器远程删除数据性能问题解决

原文:SQLServer通过链接服务器远程删除数据性能问题解决 在上一遍文章中介绍了SQLServer通过链接服务器访问Oracle性能问题的解决方法,本文介绍链接服务器下远程删除SQLServer数据的性能问题解决 1. 问题发现 系统中有个功能,需要远程删除SQLServer实例的表数据,删除语句中有where条件,条件中有一个子查询. 该功能前台执行速度非常慢.所以准备调优. 下面为演示代码,未优化前如下: DELETE FROM [LINKSERVERNAME].[AdventureWo

SQL Server的链接服务器技术小结_MsSql

一.使用 Microsoft OLE DB Provider For ODBC 链接MySQL 安装MySQL的ODBC驱动MyODBC 1.为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为 myDSN 2.建立链接数据库 EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN' GO EXEC sp_

SQL Server 2008链接服务器异类数据源的管理

笔者很喜欢在企业中采用链接服器来解决相关的问题.笔者也建议大家这么做.不过多某些数据库管理员来说,可能链接服务器对他们还是一个新的事物.这不用担心.笔者认为只要从如下几个方面去学习,就能够对链接服务器有一个全面的认识,并顺利在企业中进行部署. 在SQLServer2008数据库环境中,已经逐步的在利用链接服务器来代替远程服务器的功能.笔者认为,这是以后发展的必然趋势.因为链接服务器不仅能够完成远程服务器的所有功能,而且通过链接服务器还可以管理企业中的异类数据源,提高数据http://www.al

SQL Server的链接服务器(MySQL、Oracle、Ms_sql、Access、SYBASE)

原文:SQL Server的链接服务器(MySQL.Oracle.Ms_sql.Access.SYBASE) 一.使用 Microsoft OLE DB Provider For ODBC 链接MySQL 安装MySQL的ODBC驱动MyODBC 1.为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为myDSN 2.建立链接数据库 EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL',

通过创建SQLServer 2005到 Oracle10g 的链接服务器实现异构数据库数据转换方案_mssql2005

1.新建链接服务器  在图1中选中"链接服务器",右键选择"新建链接服务器",如图2,配置相关参数. 2.配置相关参数 在"常规"选项中,填写"链接服务器名称",访问接口选中 " Microsoft OLE DB Provider for Oracle"项.其中产品名称.数据源.访问接口字符串请填写配置的Oracle客户端在本地配置的net服务名.如图3所示. 在"安全性"项中,选中使用

使用sql-server进行分布式查询(链接服务器)

server|分布式|服务器|链接 可以使用sql-server企业管理器进行建立,注意其中的rpc及rpc out两项,也可以使用sql语句来完成定义,主要涉及到三个存储过程sp_addlinkedserver,sp_serveroption和sp_addlinkedsrvlogin,以下是三个存储过程的语法: sp_addlinkedserver创建一个链接的服务器,使其允许对分布式的.针对 OLE DB 数据源的异类查询进行访问.在使用 sp_addlinkedserver 创建链接的服务

oracle-sql server2008建立Oracle 11G 的链接服务器错误7302

问题描述 sql server2008建立Oracle 11G 的链接服务器错误7302 sql server2008 x64建立连接Oracle 11G 的"链接服务器" 报错 ,错误代码:7302 已经装好了ODAC(ODAC112021Xcopy_x64),http://jingyan.baidu.com/article/27fa7326e0879246f8271fc2.html 上介绍的方法也试过了,就是不成功! 解决方案 你的oracle11g是什么版本的,如果是32位的建议