Sql server 如何使用oracle dg4odbc在SQL Server中使用databasename.owner.tablename进行查询

Sql server 如何使用oracle dg4odbc在SQL Server中使用databasename.owner.tablename进行查询,sql-server,oracle,oracle11g,dblink,Sql Server,Oracle,Oracle11g,Dblink,我有一个从Oracle11g到SQLServer2005的dg4odbc连接。Oracle使用带有FreeTDS的unixODBC连接到SQL Server。我可以进行简单的查询,如: select count(*) from tablename@sqlserver_dblink 但我想做的是 select count(*) from databasename.owner.tablename@sqlserver_dblink 到同一SQL Server中的另一个数据库 请提供帮助。数据库

我有一个从Oracle11g到SQLServer2005的dg4odbc连接。Oracle使用带有FreeTDS的unixODBC连接到SQL Server。我可以进行简单的查询,如:

select count(*) 
from tablename@sqlserver_dblink
但我想做的是

select count(*) 
from databasename.owner.tablename@sqlserver_dblink
到同一SQL Server中的另一个数据库


请提供帮助。

数据库名称和所有者(SQL SErver中的概念不同)是ODBC连接DSN的一部分。它们未在SQL中指定。数据库链接(@sqlserve\u dblink)是oracle数据库中的一个对象。db链接定义有一个名为HOST的属性,该属性在数据库的tnsnames.ora文件中指定了一个条目。这反过来会解析为一个目标,在这个目标中,您的oracle网关有一个侦听器。从那里,它被解析为一个网关配置文件,该文件依次指定ODBC驱动程序和DSN。DSN指定实际的SQL Server数据库和凭据