SQL SERVER 建立连接服务器 访问ORA 如何建立 能贴出连接的代码吗?

解决方案 »

  1.   

    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'
    5.每个 Oracle 数据库实例仅有一个名称为空的目录。Oracle 链接服务器中的表必须使用四部分名称格式 OracleLinkedServerName..OwnerUserName.TableName 进行引用。例如,以下 SELECT 语句引用 Oracle 用户 MARY 在 OrclDB 链接服务器映射的服务器上所拥有的表 SALES。
    SELECT * FROM OrclDB..MARY.SALES
    6.注意需要 修改 注册表 :对于win2k/oracle 8i ,修改的内容为:
    7.[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI]
      "OracleXaLib"="oraclient8.dll"
      "OracleSqlLib"="orasql8.dll"
      "OracleOciLib"="oci.dll"
    8.其它事项:启动mstdc服务