【问题标题】:In SQL server, how can I query an Oracle Timestamp column over a Linked server connection?在 SQL Server 中,如何通过链接服务器连接查询 Oracle 时间戳列?
【发布时间】:2012-04-09 19:47:37
【问题描述】:

我在 oracle 中进行的查询不适用于带有 sql server 2008 的链接服务器。

为链接服务器“ORACLE”提供的 OLE DB 提供程序“MSDAORA” “DATETIME_INS”列的元数据无效。数据类型不是 支持。

查询:

select * from ORACLE..U_GERAN.CELLSTATS4

执行查询必须进行哪些修改。

【问题讨论】:

  • 如果有相关的查询和表就好了。
  • 你读过this吗?
  • @Lieven 这是远程服务器无法修改或更改表
  • @DavidBrabant 编辑为包括查询和表格截图,因为我看不到结构
  • @Kitex - 您可以验证所描述的内容是否适用于您。如果是这样,不幸的是,如果您无法将表修改为 此行为是设计使然。

标签: sql-server oracle sql-server-2008 linked-server


【解决方案1】:

试试,

SELECT * 
FROM OPENQUERY(ORACLE, 'select cast(DATETIME_INS as DATE) from U_GERAN.CELLSTATS4')

一旦该列有效,您就可以将其他列添加到查询中。

【讨论】:

  • 首先,openquery 确保 sql 在远程服务器上执行。问题在于空能力。因此,在将其发送到本地服务器之前,转换为新的数据类型会使元数据显式并且不存在冲突。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
  • 2011-05-30
  • 2021-08-09
相关资源
最近更新 更多