Sql server ORA-00942:从异构服务的表中选择内容时,表或视图不存在
我需要从SQL Server数据库中可用的表中选择Oracle数据库中的表数据。因此,我创建了一个指向此Oracle数据库的数据库链接,如中所述 数据库链接工作正常,因为我可以使用以下命令显示此数据库链接中的所有表:Sql server ORA-00942:从异构服务的表中选择内容时,表或视图不存在,sql-server,database,oracle,heterogeneous,ora-00942,Sql Server,Database,Oracle,Heterogeneous,Ora 00942,我需要从SQL Server数据库中可用的表中选择Oracle数据库中的表数据。因此,我创建了一个指向此Oracle数据库的数据库链接,如中所述 数据库链接工作正常,因为我可以使用以下命令显示此数据库链接中的所有表: select * from all_tables@mssql_link 例如,我得到一个表,表名为“adr”,所有者为“dbo” 因此,如果我试图通过 select * from dbo.adr@mssql_link 或通过 select * from "dbo"."adr
select *
from all_tables@mssql_link
例如,我得到一个表,表名为“adr”,所有者为“dbo”
因此,如果我试图通过
select * from dbo.adr@mssql_link
或通过
select * from "dbo"."adr"@mssql_link
或
我总是遇到Oracle异常:
ORA-00942:表或视图不存在[Microsoft][ODBC SQL Server驱动程序][SQL Server]对象名称“DBO.ADR”无效。{42S02,NativeErr=208}[Microsoft][ODBC SQL Server驱动程序][SQL Server]语句无法准备。{42000,NativeErr=8180}
ORA-02063:MSSQL_链路的前2行 我通过创建公共数据库链接mssql_link创建了数据库链接,该链接连接到“[dbUser]”,由“[PASSWORD]”标识,使用“mssql01”
有人知道那里发生了什么吗?试试openquery函数,如下所示:
select * from openquery(mssql_link, 'Select * from adr')
我不知道SQLServer的情况,但是如果这发生在Oracle db上,您的用户就没有对该表的select访问权。您的链接已设置为以特定用户身份连接。该用户是否有适当的权限访问该表。不幸的是,我在执行该命令时收到一个ORA-00933 SQL命令未正确结束的异常。引号中的内容正是Oracle中的内容。
select * from openquery(mssql_link, 'Select * from adr')