MS SQL Server 2008 到 Oracle 的“链接服务器”:未显示架构

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/26746/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-18 17:09:15  来源:igfitidea点击:

MS SQL Server 2008 "linked server" to Oracle : schema not showing

sqlsql-serveroracle

提问by Otto

I have a Windows 2008 Server (x64) running Microsoft SQL 2008 (x64) and I'm creating a Linked Server connection to an Oracle server. I'm able to make the connection, but I cannot see any information regarding which schema a table belongs to.

我有一个运行 Microsoft SQL 2008 (x64) 的 Windows 2008 Server (x64),我正在创建一个到 Oracle 服务器的链接服务器连接。我能够建立连接,但我看不到有关表所属架构的任何信息。

In SQL 2005, my linked servers show the schema information as I would expect.

在 SQL 2005 中,我的链接服务器按照我的预期显示模式信息。

Does anyone know how to resolve this issue? Is it an issue with the provider, OraOLEDB.Oracle?

有谁知道如何解决这个问题?这是提供者 OraOLEDB.Oracle 的问题吗?

Any help or pointers would be appreciated.

任何帮助或指示将不胜感激。

回答by Otto

@Boojiboy - When you are looking at the tables via a linked server, there used to be a column for what schema. It appears that in the latest the new Oracle OLEDB drivers don't show this information any longer.

@Boojiboy - 当您通过链接服务器查看表时,曾经有一列表示什么模式。似乎在最新的新 Oracle OLEDB 驱动程序中不再显示此信息。

回答by Josh

It looks like sp_tables_ex will do the trick, it came from the below article.

看起来 sp_tables_ex 可以解决问题,它来自下面的文章。

--verify tables OK exec sp_tables_ex @table_server = 'LINKED_ORA', @table_schema='MySchema'

@table_schema is optional. If not provided, you will get a list of all tables in all schemas.

--verify tables OK exec sp_tables_ex @table_server = 'LINKED_ORA', @table_schema='MySchema'

@table_schema 是可选的。如果未提供,您将获得所有模式中所有表的列表。

http://it.toolbox.com/blogs/daniel-at-work/linking-sql-server-2005-to-oracle-26791

http://it.toolbox.com/blogs/daniel-at-work/linking-sql-server-2005-to-oracle-26791

回答by Josh

Also in the SQL 08 > Server Objects > Providers make sure your OraOLEDB.Oracle provider is allowing inprocessing

同样在 SQL 08 > Server Objects > Providers 中确保您的 OraOLEDB.Oracle 提供程序允许处理