0

我是一名 SQL Server 开发人员,在 Oracle 中有一个任务。DBA 在 Oracle 中设置了指向 SQL Server 数据库的 DBLink。我正在编写一个关于 SQL Server 数据的视图,然后在 Oracle 端编写一个视图以将其与其他 Oracle 数据连接起来。

问题:如果我在 SQL Server 上更改视图的定义,甚至“Select * From myview@dblink”也会出现“列无效”的错误。关闭 TOAD 并重新打开似乎可以解决问题,但真正的问题是如何强制 Oracle 在不重置连接的情况下重新读取元数据?

4

4 回答 4

1

这听起来像是 TOAD 的问题,而不是 oracle 的问题。如果您在 SQL*Plus 中执行此操作会发生什么?

于 2009-05-17T01:38:25.720 回答
1

我不知道我是否理解你,但如果你有一个dblink指向你的 Oracle DB 中的 SQL Server DB 并且你需要 SQL Server 中的数据,只需执行以下操作:

SELECT *
FROM TABLE@dblink

SELECT "COL", "COL2", "COL3
from TABLE@dblink


SELECT T."COL", H."COL"
FROM TABLE1@dblink T, TABLE2@dblink H
WHERE T."ID" = H."ID"
于 2011-09-02T05:20:04.183 回答
0

也许你可以做?:

alter view <<view_name>> compile; 

我没有对此进行测试,因为我没有从 Oracle 到 MSSQL 的数据库链接。

于 2009-05-16T18:37:45.513 回答
0

这似乎是 Oracle 10g 客户端的问题。当前的解决方案是断开并重新连接。鉴于我无法找到其他人遇到此问题,我将假设这是我的客户端配置的问题。

于 2009-05-21T14:53:55.530 回答