关于sql server远程访问Oracle数据库 OpenQuery查询返回多条数据的问题

在Sql Server远程访问Oracle 中的数据库表时:

远程语法通常为: select * from OpenQuery(Oracle链接服务器名称,‘查询语句’)

eg: select * from OPENQUERY(QTX,‘select * from student‘)

有些情况下只会返回student表一条数据 第一条

解决方法:数据源ODBC中 选择系统DNS 时,新建系统数据源 选择的对应驱动应该为Oracle Instant Client Dricver  这个驱动需要安装最新的Client客户端

(Oracle Database Instant Client )

安装最新的客服端选择 以上驱动后 便可以查询出 表中多条数据 和数据集。

时间: 2024-10-12 14:11:23

关于sql server远程访问Oracle数据库 OpenQuery查询返回多条数据的问题的相关文章

sql server远程访问Oracle数据库

在sql server上新建了连接服务器后 在指定的链接服务器上执行指定的传递查询. 该服务器是 OLE DB 数据源. OPENQUERY 可以在查询的 FROM 子句中引用,就好象它是一个表名. OPENQUERY 也可以作为 INSERT.UPDATE 或 DELETE 语句的目标表进行引用. 但这要取决于 OLE DB 访问接口的功能. 尽管查询可能返回多个结果集,但是 OPENQUERY 只返回第一个. Transact-SQL 语法约定 语法 复制 OPENQUERY ( linke

SQL Server和Oracle数据库索引介绍

SQL Server和Oracle数据库索引介绍 1 SQL Server中的索引 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度.索引包含由表或视图中的一列或多列生成的键.这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行. 表或视图可以包含以下类型的索引: 聚集索引 聚集索引根据数据行的键值在表或视图中排序和存储这些数据行.索引定义中包含聚集索引列.每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序. 只有当表包含聚集索引

SQL Server之 (三) 分组 类型转换函数 插入多条数据 字符串函数

SQL Server之 (三)  分组 类型转换函数  插入多条数据  字符串函数 自己学习笔记,转载请注明出处,谢谢!---酸菜 1.SQL 数据分组----Group by /Having  ①有一学生信息表:StuID/StuName/StuAge/StuGender/StuClassID; 求每个班级的ID和对应人数:select StuClassID 班级ID,count(*) 班级人数  from StuInfo group by StuClassID ; 求所有同学中男女同学对应人

配置PL/SQL DEVELOPER远程访问oracle数据库

1.要想使用PL/SQL需要先安装oracle客户端(这个是必须的,要不然plsql就用不了,这个客户端可以去oracle官网上下载,名字叫instance client,尽量用较新的版本就可以了,windows版的大的也就50多M,还有精简版的20多M,地址:http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html,挑个适合你的系统的版本的.) oracle客户端的安装很简单,直接

Oracle数据库实现获取前几条数据的方法

如何在Oracle数据库中实现获取前几条数据的方法呢?就是类似SQL语句中的SELECT TOP N的方法.本文将告诉您答案,举例说明了哟!   1.在Oracle中实现SELECT TOP N :    由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询.  简单地说,实现方法如下所示:  SELECT 列名1...列名n FROM (SELECT 列名1...列名n FROM 表名ORDER B

不同数据库oracle mysql SQL Server DB2 infomix sybase分页查询语句

在不同数据库中的使用的分页查询语句: 当前页:currentpage 页大小:pagesize 1. Oracle数据库 select * from (select A.*,rownum rn from ( QUERY_SQL ) A )  where rn <= ((currentpage+1)*pagesize) and rn > (currentpage*pagesize) 注:QUERY_SQL为查询sql语句. 或 select * from (select rownum rn,id

C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase数据库的代码集

C#连接六类数据库的代码集 本文列出了C#连接Access.SQL Server.Oracle.MySQL.DB2和SyBase六种不同数据库的程序源码和需要注意的点. 1.C#连接Access 程序代码: Code using System.Data;using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+[email protected]&

在Windows Server 2008 R2 Server中,连接其他服务器的数据库遇到“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker ”

项目代码和数据库部署在不同的Windows Server 2008 R2 Server中,错误日志显示如下: "未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持.如果希望使用通知,请为此数据库启用 Service Broker." SQL Server Service Broker介绍: SQL Server Service Broker 为消息和队列应用程序提供 SQL Server 数据库引擎本机支持.这使开发人员可以轻松地创建使用数据库

sql server 与oracle数据互导的一种思路--sql server链接服务器

思路:通过在sql server数据库中添加链接服务器,可以远程查询oracle数据库的表环境准备,安装sql server数据库,并安装好oracle驱动,在配置好tnsname文件中配置好oracle连接,本人用的sql server2008 R2,oracle11g测试,提供程序采用的OraOLEDB.Oracle(网上很多文章说这个不能成功,要选择Microsoft OLE DB Privider for oracle,可我选择这个配置成功,估计是不能同时存在两个,如果有两个,sql s