通过SQL Server 2008 访问Oracle 10g
之前写过一篇关于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 数据库。
创建Linked Server
打开SQL Server Management Studio 进入Server Objects 列表,右键Linked Servers,点击“New Linked Server...”
在General 界面中填写下面几项内容:
Linked server: 填写Linked Server 名称
Provider:选择Microsoft OLE DB Provider for Oracle
Product name:填写Oracle
Data source:填写上面提到的数据库别名ORADB
点击Security ,点选“Be made using this security context”,假设Oracle 数据库有一个名称为admin 的用户ID,在“Remote login”中输入访问帐号,点击“OK”结束创建。
完成后Linked Servers 中会看到刚创建的Oracle 数据库链接。
访问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 数据库,并做相应的数据调整。
转载于:https://www.cnblogs.com/qanholas/archive/2013/01/10/2854826.html
通过SQL Server 2008 访问Oracle 10g相关推荐
- oracle数据库访问sqlserver2008,透过SQL Server 2008访问Oracle 10g的配置方法
之前写过一篇关于SQL Server 访问MySQL数据库的文章,最近正好又遇到需要访问Oracle 的情况,将配置过程记录下来也供大家参考. 准备工作 事先在需要访问Oracle 数据库的主机上完成 ...
- 从Sql server 2000 到 Oracle 10g数据库迁移数据类型转化
2010-01-12 从Sql server 2000 到 Oracle 10g数据库迁移数据类型转化 文章分类:数据库 SqlServer 2k转换为Oracle 10g 列名 SqlServer数 ...
- sql server 2008连接oracle操作步骤详细记录,SQL Server 2008连接Oracle操作步骤详细记录...
SQL Server Management Studio Express(简写SSMS) SQL Server配置管理器:SQL Server Configuration Manager(简写SSCM ...
- sql server 2008连接oracle操作步骤详细记录,SQLServer连接Oracle详细步骤
我们知道SQL Server和Oracle其实很多原理都类似.特别是一些常用的SQL语句都是按照标准来.所以它们也可以有一定的互操作性的.这里 我们知道SQL Server和Oracle其实很多原理都 ...
- 通过SQL Server 2008 访问MySQL
在公司中经常会遇到部署多种数据库环境的情况,对于开发人员来说经常在不同数据库之间转换确实有些繁琐,本篇将介绍从SQL Server 操作MySQL 数据库的方法. 数据库测试环境 1. SQL Ser ...
- 应用程序的数据库从Sql Server迁移到Oracle
应用程序的数据库从Sql Server迁移到Oracle 迁移案例一:数据库: Sql Server 2008到Oracle 9i 工具: Sybase PowerDesiner 12 试用版, PL ...
- 对比 SQL Server 2005 和 Oracle
在 Microsoft Windows Server 上运行的 SQL Server 2005,为企业级关系数据库和分析解决方案提供了一个平台,在安全.可用性.与 Visual Studio 的整合度 ...
- swisssql-sql server to oracle,Sql Server移植到Oracle之Migration Workbench
移植SQL server数据库对象到Oracle的操作说明 移植之平台和相关工具 OS:Windows Vista DBMS:Sql Server 2005 Plus Oracle 10g for V ...
- sql server 2008数据导入Oracle方法
试了几种sql server数据导入Oracle的方法,发现还是sql server 的导入导出工具最好使.使用方法很简单,照着向导做就可以.不过使用中需要注意以下几点: 系统盘需要足够大.因为SSI ...
最新文章
- (转)JS正则表达式元字符
- Ant和Junit使用的一些问题
- VTK:模型之Bottle
- step4 . day6 线程与线程的创建
- mysql sqlsugar_.net core +mysqlSugar(最为简单的增删改查)
- Java 蓝桥杯 字母图形
- 记录一下不能使用let时如何创建局部变量(使用立即执行函数)
- 二叉树 -- 5.1.1 Binary Tree Level Order Traversal -2 -- 图解
- git log 查看自己修改的行数_Git 笔记 day2
- 单片机原理及应用姜志海pdf_《单片机原理及应用(C语言版)》郭军利,祝朝坤,张凌燕【pdf】...
- flex+java项目创建_创建Flex 4和Java Web应用程序
- 【Andrew Gelman多元统计】(基于R)
- 8-四平方和定理(拉格朗日定理)
- 后台管理系统导出Excel表格的方法
- android 打 aab包本地测试注意事项
- Vollendet und in alle Einzelheiten durchgebildet
- component传值问题
- 计算机课是怎样查出勤的,基于计算机视觉技术的课堂自动考勤系统研究
- Android 多种简单的弹出框样式设置
- 我所知道的 11 条领导力(Ping++ CEO 金亦冶)