为啥mssql的OPENQUERY取oracle某表时只返回了一行数据,而在pl/sql中可以查到表中有两行数据,求解答?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥mssql的OPENQUERY取oracle某表时只返回了一行数据,而在pl/sql中可以查到表中有两行数据,求解答?相关的知识,希望对你有一定的参考价值。

SQLSERVER语句:SELECT * FROM OPENQUERY(cbaosong,N'select * from roles where role_id in(''1012'',''1013'');')
执行结果如下图

而在pl/sql中可以查询到两条,语句:
select * from roles where role_id in ('1012','1013');
执行结果如下图
如何才能在mssql中显示出全部查询条目?

OPENQUERY只返回第一个值,我怎么记得mysql也能执行select * from roles where role_id in (\'1012\',\'1013\'); 参考技术A OPENQUERY 只能返回一条结果,即使你有多条追问

不是的,其他的表就可以,如:

SELECT * FROM OPENQUERY(cbaosong,N'select * from ins_info_def;')

执行结果:

追答

http://technet.microsoft.com/zh-cn/library/ms188427.aspx 具体不太清楚

MSSQL如何访问ORACLE里的表

环境:
MSSQL:2008
ORACLE DB:10.2.0.1
 
  之前一直没有接触MSSQL,最近因需要MSSQL访问ORACLE里的表,下面是MSSQL连接ORACLE的配置过程.
 
1.在MSSQL的机器上安装ORACLE客户端,同时配置连接到ORALCE的TNS,这里我的配置如下:
ORACL_10GA =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = oracl)     )   )
配置好后,可以使用tnsping检查是否连接成功.
C:\Documents and Settings\Administrator>tnsping oracl_10ga
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-10月-2012 00:
Copyright (c) 1997, 2005, Oracle.  All rights reserved.
已使用的参数文件: D:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = CE_NAME = oracl))) OK (10 毫秒)
 
2.进入Micosoft SQL Server Management Studio选择连接服务器
 
技术分享
 
3.点击 新建连接服务器
 
技术分享
 
连接服务器:link_oracle //这个名字可以随意
访问接口选择:Microsoft OLE DB Provider for Oracle
产品名称:oracle
数据源:oracl_10ga //这里是配置的TNS
 
4.安全性选项的配置
 
技术分享
 
远程连接:hxl_test //这里是访问oracle数据库的用户
使用密码:数据库的密码
 
5.访问oracle数据库下的表
SELECT * FROM OPENQUERY(LINK_ORACLE,‘SELECT * FROM TB_HXL_TEST‘)
 
 
-- The End --
http://blog.chinaunix.net/uid-77311-id-3372495.html

以上是关于为啥mssql的OPENQUERY取oracle某表时只返回了一行数据,而在pl/sql中可以查到表中有两行数据,求解答?的主要内容,如果未能解决你的问题,请参考以下文章

带有 OpenQuery 和参数的 NativeQuery

sqlserver过程中使用openquery 修改oracle数据时,存储过程中断,oracle的值被改为null

OPENQUERY 无行返回 无数据返回 数据缺失

SQL: OPENQUERY 问题

MSSQL 数据库问题 ,从一个表取数更新另外一个表

SQL链接服务器查询-OPENQUERY的使用