microsoftoledbproviderfororacle (数据库引擎)
2011年6月15日
正文内容
microsoftoledbproviderfororacle允许对Oracle数据库中的数据执行分布式查询。
创建链接服务器以访问Oracle数据库实例
确保运行SQL Server的服务器上的Oracle客户端软件达到了访问接口所需的级别。 microsoftoledbproviderfororacle包括Oracleclientsoftwaresupportfile7.3.3.4. 0版和更高版本以及SQL*net版2.3.3.3.0.4
在运行SQL Server的服务器上,为Oracle数据库实例创建SQL*Net别名。 有关详细信息,请参阅Oracle文档。
指定provider_name为MSDAORA,data_ source为Oracle数据库实例的SQL*Net别名,然后运行sp_addlinkedserver创建链接服务器。
以下示例假设将SQL*Net别名定义为OracleDB。
sp_addlinkedserver 'OrclDB ',' Oracle ',' MSDAORA ',' OracleDB '
使用sp_addlinkedsrvlogin创建从SQL Server登录名到Oracle登录名的登录名映射。
以下示例使用Oracle登录名和密码(OrclUsr和OrclPwd )将SQL Server登录名中的铅笔映射到步骤3中定义的链接服务器。
sp_addlinkedsrvlogin 'OrclDB ',false,'强力铅笔',' OrclUsr ',' OrclPwd '
Oracle数据库的每个实例只有一个名称为空的目录。 必须使用oraclelinkedservername * *.owner username.* * tablename格式的四个部分的名称来引用Oracle链接服务器中的表。 例如,以下SELECT语句引用由OrclDB链接服务器映射的服务器中的Oracle用户的清理机所拥有的表SALES。
选择*
FROM OrclDB .干净的抽屉. SALES
如果要在Oracle链接服务器中引用表,请使用以下规则:
如果在Oracle中创建的表名和列名不使用用引号引起来的标识符,则使用全部大写的名称。
如果在Oracle中创建的表名和列名使用用引号引起来的标识符,请使用与在Oracle中创建名称时完全相同的字母大小写。
即使表中的某些列为NULL或有缺省值,INSERT语句也必须为表中的所有列提供值。
注册表项
要在Oracle客户机软件中启用OLE DB Provider for Oracle,必须从命令行运行注册表文件以修改客户机注册表。 无法同时运行客户端软件的多个实例。 下表介绍了Microsoft数据访问组件(MDAC )安装目录结构中的这些文件。 此位置通常为c :program filescommon filessystem filesoledb。
Oracle客户机
Windows NT或9x
Windows 2000
7.x
mtxoci7x_winnt.reg
mtxoci7x_win2k.reg
8.0
mtxoci80_winnt.reg
mtxoci80_win2k.reg
8.1
mtxoci81_winnt.reg
mtxoci81_win2k.reg
中选择所需的墙类型
概念