`
yunzhongxia
  • 浏览: 649520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQLSERVER2000链接Oracle

阅读更多

      项目开发中也许会遇到这样的场景:一个系统是vb做的用的是sqlserver数据库,一个是java做的用的是oracle数据库,两个系统之间要实现一些数据的交互。异构数据库(oracle称为透明网关)可以解决这种问题,原理是在数据库A上建立一个链接服务器访问数据库B。本篇主要讲解SQLSERVER2000链接Oracle数据库,操作步骤如下:

      1.安装oracle9i客户端或者服务器,oracle企业管理器中创建远程数据库。

         host:192.168.1.10 
         sid:hjn
        端口:1521
        名称:HJN_192.168.1.10 

 

      2.安装sqlserver2000并打上sp4以上的补丁。

         查看SQL SERVER 2000是否打过SP4的补丁 其实只要查询版本号就知道。
         在查询分析器中输入
         select @@version
         或者输入 print @@version

         如果是安装过SP4的补丁。应该是下面的信息:
         Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
         May 3 2005 23:18:38
         Copyright (c) 1988-2003 Microsoft Corporation
         Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)

       

        安装sqlserver或者sp4补丁时很有可能提示文件挂起提示,解决办法如下:

        打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
        中找到PendingFileRenameOperations项目,并删除它.

 

     3.由于sqlserver的链接服务器对应的是oracle8版本,因此需要修改注册表信息。

        [HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC]
        AllowonlySecureRpcCalls=0
        TurnoffRpcSecurity=1

        [HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSDTC\MTxOCI]
        "OracleXaLib"="oraclient9.dll"
        "OracleSqlLib"="orasql9.dll" 
        "OracleOciLib"="oci.dll"

    

     4.在sqlserver2000中建立oracle链接服务器。

       

        打开企业管理器,在安全性下找到链接服务器。新建链接服务器。

 

      

 

       链接服务器名称为MYORA,提供程序名称为Microsoft OLEB DB Provider for Oracle

       产品名称为ORACLE,数据库为刚才新建的远程数据库sid,链接字符串也是hjn。

       注意名称必须是ORACLE并且是大写。

 

    

      

 

       安全性选择不使用安全上下文,输入oracle的用户名和密码。

 

       

 

        在排序规则兼容打上勾,使用远程排序规则上也打上勾。

       

       

      

 

     5.  解决事务问题
          开始——程序——管理工具——组件服务;
          组建服务——计算机——我的电脑;
          右键属性——msdtc标签——安全性配置
          把所有能选的都选上(可能不用都选); 
          确定; 

     6. 解决连接中断问题
         修改hosts文件 (ip 计算机名)
         C:\WINDOWS\system32\drivers\etc
         192.168.0.11 test

    

     7.SQL的写法有两种
        a)使用T-SQL语法:
            SELECT * FROM LNK1..用户名.表名--注意用户名称,表名称要大写。


        b)使用PLSQL语法:
           select * from openquery(LNK1,'select * from 用户名.表名')

 

           update openquery(linked1, 'select ssn from testlinked where ssn=2') set ssn=ssn + 1


           insert openquery(linked1, 'select ssn from testlinked where 1=0') values (1000)


           delete openquery(linked1, 'select ssn from testlinked where ssn>100')


           第二种访问方式比第一种约快50%;第二种访问方式跟直连ORACLE的速度相当;
           第一种访问方式可能会导致一些意外错误,如:该表不存在,或者当前用户没有访问该表的权限。
           如果需要访问的column中使用没有精度的数据类型,这两种查询方式都可能会报错,这是ORACLE的BUG,
            无法修正,只能通过查询语句的特殊处理规避这一问题:
           OLE DB 提供程序 'OraOLEDB.Oracle' 为列提供的元数据不一致。执行时更改了元数据信息。

   

    问题与BUG。

           1.oracle9i的varchar2长度大于256时就会出现sqlserver2000访问死掉的现象。这个问题我还不知道具体的原因,但是oracle10g是没有问题的。

           2.oracle中的clob字段只能通过openquery访问。

           3.最好用oracle简单的数据类型。

          

  • 大小: 25.3 KB
  • 大小: 23.8 KB
  • 大小: 21.4 KB
  • 大小: 28.9 KB
0
0
分享到:
评论

相关推荐

    sqlserver2000连接oracle9i的方法

    sqlserver2000连接oracle9i的方法

    sql_server连接Oracle方法(最全)

    "SQL Server 连接 Oracle 方法" SQL Server 连接 Oracle 方法是数据库管理系统中的一个重要话题。本文将详细介绍如何在 SQL Server 中连接 Oracle 数据库,并解决在连接过程中可能出现的问题。 安装 Oracle 客户端...

    sql server 2000访问oracle数据库

    SQL Server 2000提供了“开放数据库连接”(ODBC)和“数据库链接”(Linked Server)两种方式来实现这一功能。ODBC是通过数据源管理器创建一个指向Oracle数据库的ODBC数据源,然后在SQL Server中使用SQL Server ODBC...

    SQL SERVER连接oracle数据库几种方法

    在 SQL Server 中,我们可以创建一个链接服务器,以便连接到 Oracle 数据库。下面是一个示例代码: ```sql EXEC sp_addlinkedserver @server = 'GE160', @srvproduct = 'Oracle', @provider = 'MSDAORA', @datasrc ...

    SQLSERVER2000连接到ORACLE

    本文将详细阐述如何在SQL Server 2000中建立到Oracle数据库的连接,以便从SQL Server中读取Oracle中的数据。 首先,我们需要了解SQL Server 2000的数据链接服务器功能,这是实现跨数据库连接的关键。数据链接服务器...

    SQLserver2012链接Oracle数据库操作说明.docx

    NULL, -- 为每个登陆 SQLSERVER 的用户使用此链接服务器, 则写用户名 'SQLSA', -- 帐号 (oracle) 'chmti'; -- 密码 ``` - 设置 RPC 和 RPC_OUT 选项以支持远程更改分布式事务。 ```sql exec sp_serveroption ...

    SqlServer2008访问Oracle数据库

    SqlServer2008通过Oracle provider for OLEDB访问远程Oracle数据库 包括链接服务器环境安装、链接服务器创建、远程建表、修改表,增删改查数据,创建、执行带参与无参存储过程的方法等,资料为作者参考网络资料整理...

    网络环境下连接SQL Server和Oracle 19c的方法.docx

    在网上看了很多资料,感觉不是很仔细,很多同学遇到这个问题,就详细说明一下在局域网环境下Navicat连接SQL Server和Oracle 19c的方法,PL/SQL Developer连接Oracle

    sqlserver2008链接ORACLE服务器驱动.rar

    本资源"sqlserver2008链接ORACLE服务器驱动.rar"正是为了解决这个问题,提供了SQL Server 2008连接到Oracle数据库所需的驱动程序和安装指南。 首先,我们要明白的是,SQL Server 2008本身并不直接支持Oracle数据库...

    sqlserver连接oracle

    SQL Server 作为链接服务器连接 Oracle 数据库,需要配置 Windows 的 ODBC 数据源和 SQL Server 2000 中的连接服务器。下面将详细介绍配置过程和连接方法。 配置 Windows 的 ODBC 数据源 在 Windows 操作系统中,...

    通过ORACLE通用连接访问SQLServer数据库的方法

    通过Oracle通用连接访问SQL Server数据库的方法为IT领域提供了一种跨数据库系统进行数据交互的有效途径。这种方法主要依赖于Oracle数据库的异构服务功能,允许用户从Oracle环境中直接查询或操作其他类型数据库(如...

    SQLServer2008R2与Oracle11gR2互连

    在SQLServer中连接Oracle数据库可以通过设置Linked Server来实现。 ##### 4.1 配置Client - 在SQLServer的主机上安装Oracle客户端后,可以在数据源中看到Oracle的ODBC驱动。 - 注意客户端的版本与操作系统位数相...

    链接服务器-SQL Server连接Oracle(乱码配置,无需修改数据库编码)

    网上基本找不到,sqlserver2012版本链接oracle乱码问题解决实测版。

    Windows Server 2008 内SQLServer建立Linked Server连接Oracle

    "Windows Server 2008 内 SQL Server 建立 Linked Server 连接 Oracle" 在 Windows Server 2008 64 位操作系统中,使用 SQL Server 建立 Linked Server 连接 Oracle 数据库是一种常见的需求。然而,在 64 位操作...

    Sqlserver转Oracle工具

    连接sqlserver数据库后选择相应的数据库-数据表以及目标数据库(目前只有oracle),可以将sqlserver转换成oracle数据,有两种方式,点击转换sql按钮,可以生成sql语句,复制语句到oracle里执行。第二种是连接oracle...

    实现 Oracle 连接 SQL Server

    ### 实现 Oracle 连接 SQL Server 的方法与步骤 在 IT 领域,数据库间的交互对于实现数据共享和业务协同至关重要。Oracle 和 SQL Server 分别作为市场上两款主流的数据库管理系统,它们之间的连接需求十分常见。...

    sqlserver-oracle 数据类型对照

    - `CONCAT`和`+`运算符在Oracle和SQL Server中都用于字符串连接。 - `LOWER`和`UPPER`分别用于将字符串转为小写和大写。 - `LPAD`、`LTRIM`和`RTRIM`分别用于在字符串左侧填充、去除左侧空白和去除右侧空白。 - ...

    Oracle19C RAC通过gateways连接SQL server数据库

    在本场景中,我们探讨的是如何在Oracle 19C RAC环境中通过Oracle数据库网关(Gateway)连接到SQL Server 2012数据库。Oracle Gateway使得不同数据库系统间的数据交互成为可能,实现异构数据库间的透明访问。 首先,...

    oracle数据库导入到SQL server.docx

    首先,需要安装oracle_11G_client以便连接Oracle数据库。在安装过程中,需要选择语言,包括简体中文、英文和繁体中文。如果Oracle数据库的内容是繁体的,需要使用简体Windows 10系统安装,并添加繁体语言。 二、...

    SQLServer数据库导入Oracle

    "SQLServer数据库导入Oracle详解" 在数据库管理中,数据迁移是一个非常重要的步骤,特别是在不同数据库管理系统之间,例如从SQL Server到Oracle。下面我们将详细介绍如何将SQL Server数据库导入到Oracle中。 首先...

Global site tag (gtag.js) - Google Analytics