Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 链接服务器未从Oracle DB获取行_Sql Server_Oracle_Linked Server - Fatal编程技术网

Sql server 链接服务器未从Oracle DB获取行

Sql server 链接服务器未从Oracle DB获取行,sql-server,oracle,linked-server,Sql Server,Oracle,Linked Server,我们使用SQL Server 2008 R2标准服务器和链接服务器从其他Oracle DB获取信息。链接服务器的提供程序是OLE DB的Oracle提供程序 我尝试在SQL Server中运行此查询 select * from [HPROD]..[GTBUD].GT_BUD_COA_VW 使用Oracle SQL Developer,我可以看到表中有44859条记录。知道我为什么不能得到数据吗?我应该指出,我遇到问题的HPROD链接服务器正在运行Oracle 11g 64位11.2.0.1.

我们使用SQL Server 2008 R2标准服务器和链接服务器从其他Oracle DB获取信息。链接服务器的提供程序是OLE DB的Oracle提供程序

我尝试在SQL Server中运行此查询

 select * from [HPROD]..[GTBUD].GT_BUD_COA_VW
使用Oracle SQL Developer,我可以看到表中有44859条记录。知道我为什么不能得到数据吗?我应该指出,我遇到问题的HPROD链接服务器正在运行Oracle 11g 64位11.2.0.1.0产品。我们的SQL Server在Server 2008 R2 64机器上运行

有趣的是,我们有另一个名为IRPROD的链接服务器,它使用与HPROD相同的提供程序。IRPROD运行的是与Oracle完全相同的版本,但我们没有任何问题。一切正常

此外,如果我尝试使用OpenQuery,HPROD仍然不会显示任何行

 select * from Openquery(HPROD,'select * from GTBUD.GT_BUD_COA_VW')

我不知所措。我们需要能够击中这些桌子

尝试指定架构名称

select * from
[linkedServerName].[DatabaseName].[SchemaName].[TableName]

请尝试指定架构名称

select * from
[linkedServerName].[DatabaseName].[SchemaName].[TableName]

验证链接服务器是否指向预期的数据库(以及登录用户名/架构)


在Oracle端,您可以检查v$session以查看是否有来自SQL Server节点的连接,并检查v$SQL以查看发出了什么查询、完成了多少回迁以及返回了多少行。

验证链接的服务器是否指向您期望的数据库(以及登录用户名/架构)


在Oracle方面,您可以检查v$session以查看是否有来自SQL Server节点的连接,并检查v$SQL以查看发出了什么查询、完成了多少回迁以及返回了多少行。

我与实际创建视图的同事一起工作

视图包含连接和where子句。他使用的语法如下:

 AND b.end_dt = '30-JUN-2012'
当他将格式更改为使用todate函数时,它起了作用

 AND b.end_dt = TO_DATE('06/30/2012','MM/DD/YYYY')
现在,旧方法在Oracle中运行得非常好,只有在通过SQL server中的链接服务器时才会发出呕吐声


现在我们知道了。

我与实际创建视图的同事一起工作

视图包含连接和where子句。他使用的语法如下:

 AND b.end_dt = '30-JUN-2012'
当他将格式更改为使用todate函数时,它起了作用

 AND b.end_dt = TO_DATE('06/30/2012','MM/DD/YYYY')
现在,旧方法在Oracle中运行得非常好,只有在通过SQL server中的链接服务器时才会发出呕吐声


现在我们知道了。

这里有使用的“特殊”列数据类型吗?像高球,长的,生的还是类似的?当你只在“好”列上投影时,它能工作吗<代码>即从…中选择id或类似项没有特殊列类型,只有varchar2和date。我确实尝试选择了一个特定的列,但仍然选择了0行。在那里使用了“特殊”列数据类型吗?像高球,长的,生的还是类似的?当你只在“好”列上投影时,它能工作吗<代码>即从…中选择id或类似项没有特殊列类型,只有varchar2和date。我确实尝试选择了一个特定的列,但仍然选择了0行。