关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »透过SQL Server 2008访问Oracle 10g的配置方法

    透过SQL Server 2008访问Oracle 10g的配置方法

    2010-09-08 08:44:00 出处:ITJS
    分享

    之前写过一篇关于SQL Server 访问MySQL数据库的文章,最近正好又遇到需要访问Oracle 的情况,将配置过程记录下来也供大家参考。

    准备工作

    事先在需要访问Oracle 数据库的主机上完成以下工作:

    1. 安装SQL Server 数据库:SQL Server 2008 R2 Express

    2. 安装Oracle 客户端访问程序:Oracle 10g Client

    3. 配置Oracle 客户端tnsnames.ora 文件,其中需要注意文件中的数据库别名“ORADB”,该名称在下文创建Linked Server 时将会使用到。

    ORADB =    (DESCRIPTION =       (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTIP)(PORT = 1521))       (CONNECT_DATA = (SID = DBNAME))    ) 

    4. 确保主机可以通过SQLPlus 访问远程Oracle 数据库。

    sqlplus

    创建Linked Server

    打开SQL Server Management Studio 进入Server Objects 列表,右键Linked Servers,点击“New Linked Server...”

    new

    在General 界面中填写下面几项内容:

    Linked server: 填写Linked Server 名称

    Provider:选择Microsoft OLE DB Provider for Oracle

    Product name:填写Oracle

    Data source:填写上面提到的数据库别名ORADB

    input

    点击Security ,点选“Be made using this security context”,假设Oracle 数据库有一个名称为admin 的用户ID,在“Remote login”中输入访问帐号,点击“OK”结束创建。

    account

    完成后Linked Servers 中会看到刚创建的Oracle 数据库链接。

    Done

    访问Oracle

    接下来就可以在SQL Server 端访问Oracle 数据库了,查询语法如下:

    SELECT * FROM LINKED_NAME..ACCOUNT_NAME.TABLE_NAME; 

    结合上面的实例,假如要查询admin 用户下jobs 表的内容,则相应SQL 语句应为:

    SELECT * FROM ORASVR..ADMIN.JOBS; 

    使用上述方法进行数据查询时,若Oracle 表有NUMBER 列时会出现转化错误,这时可以将NUMBER 类型转化为字符串(也有将该列属性修改成NUMBER(10),为NUMBER 列设定好位数)。考虑到View 查询等因素个人感觉还是转为字符串的方式较为通用。

    当然假如查询的列过多,每个NUMBER 列都转为VARCHAR 的话工作量也的确不小,这时最好的方法就是使用OPENQUERY 函数:

    SELECT * FROM OPENQUERY(LINKED_NAME,'SELECT * FROM TABLE_NAME'); 

    按照OPENQUERY 的语法上面SQL 语句应变为:

    SELECT * FROM OPENQUERY(ORASVR,'SELECT * FROM JOBS'); 

    这样我们就可以在SQL Server 端方便的访问Oracle 数据库,并做相应的数据调整。

    原文标题:通过SQL Server 2008 访问Oracle 10g

    链接:http://www.cnblogs.com/gnielee/archive/2010/09/07/access-oracle-from-sqlserver.html

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    电脑屏幕不小心竖起来了?别慌,快捷键搞定

    Destoon 模板存放规则及语法参考

    Destoon系统常量与变量

    Destoon系统目录文件结构说明

    Destoon 系统安装指南

    Destoon会员公司主页模板风格添加方法

    Destoon 二次开发入门

    Microsoft 将于 2026 年 10 月终止对 Windows 11 SE 的支持

    Windows 11 存储感知如何设置?了解Windows 11 存储感知开启的好处

    Windows 11 24H2 更新灾难:系统升级了,SSD固态盘不见了...

    IT头条

    Synology 更新 ActiveProtect Manager 1.1 以增强企业网络弹性和合规性

    00:43

    新的 Rubrik Agent Cloud 加速了可信的企业 AI 代理部署

    00:34

    宇树科技 G1人形机器人,拉动一辆重达1.4吨的汽车

    00:21

    Cloudera 调查发现,96% 的企业已将 AI 集成到核心业务流程中,这表明 AI 已从竞争优势转变为强制性实践

    02:05

    投资者反对马斯克 1 万亿美元薪酬方案,要求重组特斯拉董事会

    01:18

    技术热点

    大型网站的 HTTPS 实践(三):基于协议和配置的优化

    ubuntu下右键菜单添加新建word、excel文档等快捷方式

    Sublime Text 简明教程

    用户定义SQL Server函数的描述

    怎么在windows 7开始菜单中添加下载选项?

    SQL Server 2016将有哪些功能改进?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。