sql server创建链接服务器以访问Oracle数据库实例
创建链接服务器以访问 Oracle 数据库实例:
1、确保运行 SQL Server 的服务器上的 Oracle 客户端软件已达到提供程序所要求的级别。用于 Oracle 的 Microsoft OLE DB 提供程序要求 Oracle 客户端软件支持文件的版本为 7.3.3.4.0 或更高版本,并且 SQL*Net 的版本为 2.3.3.0.4。
2、在运行 SQL Server 的服务器上创建指向 Oracle 数据库实例的 SQL*Net 别名。有关更多信息,请参见 Oracle 文档。
1、确保运行 SQL Server 的服务器上的 Oracle 客户端软件已达到提供程序所要求的级别。用于 Oracle 的 Microsoft OLE DB 提供程序要求 Oracle 客户端软件支持文件的版本为 7.3.3.4.0 或更高版本,并且 SQL*Net 的版本为 2.3.3.0.4。
2、在运行 SQL Server 的服务器上创建指向 Oracle 数据库实例的 SQL*Net 别名。有关更多信息,请参见 Oracle 文档。
3、执行 sp_addlinkedserver 创建链接服务器,指定 MSDAORA 为 provider_name,指定用于 Oracle 数据库实例的 SQL*Net 别名为 data_ source。
以下示例假设已将一个 SQL*Net 别名定义为 OracleDB。
sp_addlinkedserver 'OrclDB', 'Oracle', 'MSDAORA', 'OracleDB'
4、使用 sp_addlinkedsrvlogin 创建从 SQL Server 登录到 Oracle 登录的登录映射。
以下示例通过 Oracle 登录名 OrclUsr 和密码 OrclPwd 将 SQL Server 登录 Joe 映射到步骤 3 中定义的链接服务器:
sp_addlinkedsrvlogin 'OrclDB', false, 'Joe', 'OrclUsr', 'OrclPwd'
以下示例假设已将一个 SQL*Net 别名定义为 OracleDB。
sp_addlinkedserver 'OrclDB', 'Oracle', 'MSDAORA', 'OracleDB'
4、使用 sp_addlinkedsrvlogin 创建从 SQL Server 登录到 Oracle 登录的登录映射。
以下示例通过 Oracle 登录名 OrclUsr 和密码 OrclPwd 将 SQL Server 登录 Joe 映射到步骤 3 中定义的链接服务器:
sp_addlinkedsrvlogin 'OrclDB', false, 'Joe', 'OrclUsr', 'OrclPwd'
每个 Oracle 数据库实例仅有一个名称为空的目录。Oracle 链接服务器中的表必须使用四部分名称格式 OracleLinkedServerName..OwnerUserName.TableName 进行引用。例如,以下 SELECT 语句引用 Oracle 用户 MARY 在 OrclDB 链接服务器映射的服务器上所拥有的表 SALES。
SELECT *
FROM OrclDB..MARY.SALES
在 Oracle 链接服务器中引用表时,请使用以下规则:
1、如果在 Oracle 中创建的表名和列名没有引用的标识符,请全部使用大写字母名称。
2、如果在 Oracle 中创建的表名和列名有引用的标识符,请全部使用与 Oracle 中创建名称时相同的字母大小写格式。
3、INSERT 语句应为表中的所有列提供值,即使表中的某些列为 NULL 或有默认值。
--------------
按这个步骤,如果有错误发生,看看是哪一步出现此错误
二、使用 Microsoft OLE DB Provider For ORACLE 链接ORACLE
1、建立链接数据库
sp_addlinkedserver '别名', 'Oracle', 'MSDAORA', '服务名'
GO
二、使用 Microsoft OLE DB Provider For ORACLE 链接ORACLE
1、建立链接数据库
sp_addlinkedserver '别名', 'Oracle', 'MSDAORA', '服务名'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='别名
',@useself='false',@locallogin='sa',@rmtuser='oracle用户名
',@rmtpassword='密码'
2、查询数据
SELECT * FROM 别名oracle建立数据库连接..用户名.表(视图)
注意:四部分名称全部用大写
3、执行存储过程
使用OPENQUERY:
',@useself='false',@locallogin='sa',@rmtuser='oracle用户名
',@rmtpassword='密码'
2、查询数据
SELECT * FROM 别名oracle建立数据库连接..用户名.表(视图)
注意:四部分名称全部用大写
3、执行存储过程
使用OPENQUERY:
SELECT *
FROM OPENQUERY(别名, 'exec 用户名.存储过程名')
FROM OPENQUERY(别名, 'exec 用户名.存储过程名')
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论