【发布时间】:2012-08-14 18:25:53
【问题描述】:
我正在尝试创建一个复杂的视图,该视图将通过 MS-SQL 服务器中的链接服务器进行访问。我遇到的问题是查询使用 ROWNUM 来生成 ROWID。
生成的 ROWID 的数据类型为 NUMBER,但这显然给我带来了问题,如果我能把它变成 NUMBER(在此处插入大小),一切都会好起来的。但我不确定这是否可能。
CREATE OR REPLACE FORCE VIEW EXAMPLE ("ROW_ID")
AS
SELECT ROWNUM ROW_ID,
FROM
(SUB-QUERY)
我无法提供完整的查询和列名(工作限制),但这里是 SQL Developer 中查询返回的列类型
我认为问题的中心是返回的 ROWNUM 数据类型是 Number 而不是 NUMBER(20) 或类似长度,并且这种交叉是我在链接服务器错误方面看到的问题,但如果有人知道不同让我知道;)
【问题讨论】:
-
这是什么问题?
-
Msg 7356,级别 16,状态 1,第 1 行链接服务器“LINKEDSERVER”的 OLE DB 提供程序“MSDAORA”为列提供了不一致的元数据。据报道,对象“VIEWNAME”的列“ROW_ID”(编译时序号 1)在编译时的“DBTYPE”为 130,在运行时为 5。