从 Oracle 查询 SQL Server - 强制元数据刷新
我是一名 SQL Server 开发人员,负责 Oracle 中的任务。 DBA 在 Oracle 中设置一个指向 SQL Server 数据库的 DBLink。 我正在编写一个关于 SQL Server 数据的视图,然后在 Oracle 端编写一个视图,以将其与其他 Oracle 数据连接起来。
问题:如果我更改 SQL Server 上视图的定义,甚至“Select * From myview@dblink”也会出现“无效列”错误。 关闭TOAD并重新打开似乎可以纠正问题,但真正的问题是如何在不重置连接的情况下强制Oracle重新读取元数据?
I am a SQL Server developer, with a task in Oracle. DBA set up a DBLink in Oracle that points at a SQL Server database. I am writing a view on the SQL Server data and then a view on the Oracle side to join it with additional Oracle data.
Problem: if I change the definition of the view on SQL Server, even "Select * From myview@dblink" errors with "Invalid column." Closing TOAD and reopening seems to correct the problem, but the real question is how to force Oracle to re-read the metadata without resetting the connection?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这听起来像是 TOAD 的问题,而不是 Oracle 的问题。 如果在 SQL*Plus 中执行此操作会发生什么情况?
This sounds like an issue with TOAD, not oracle. What happens if you do it in SQL*Plus?
我不知道我是否理解您的意思,但是如果您有一个指向 Oracle 数据库中的 SQL Server 数据库的 dblink,并且您需要 SQL Server 中的数据,只需执行以下操作:
I dont know if I understand you but if you got a
dblink
that points to a SQL server DB in your Oracle DB and you need data in SQL server just do:也许你可以这样做?:
我还没有测试过这个,因为我没有从 Oracle 到 MSSQL 的数据库链接。
Maybe you can do?:
I haven't tested this because I have no db link from Oracle to MSSQL.
这似乎是 Oracle 10g 客户端的问题。 目前的解决方案是断开连接并重新连接。 鉴于我无法找到其他人遇到此问题,我将假设这是我的客户端配置的问题。
This seems to be an issue with the Oracle 10g client. The current solution is to disconnect and reconnect. Given that I haven't been able to find anyone else with this problem, i will assume that it is a problem with my client config.