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
MS SQL Server 2008 "linked server" to Oracle : schema not showing
提问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 提供程序允许处理