我已经创建了一个从 oracle 到 sql(实现的异构服务)的 dblink 'POC_HS',并且我能够成功地从 DSN(for sql server)连接到的默认数据库中提取数据。
因此,这个“select * from Test@POC_HS”在 Oracle 数据库上运行良好,因为“Test”表位于默认数据库(系统 DSN 连接到该数据库)中。
但是,当我执行 'select * Abc.Test@POC_HS' 其中测试表驻留在不是默认数据库的 'ABC' 数据库中时,会引发如下错误:
ORA-00942: 表或视图不存在 [使用 ODBC 的通用连接][Microsoft][ODBC SQL Server Driver][SQL Server]无效的对象名称 'Abc.Test'。[Microsoft][ODBC SQL Server Driver][SQL Server ]无法准备声明。(SQL 状态:S0002;SQL 代码:208)
dblink 用户和系统 DSN 帐户可以访问“Abc”数据库。
想法?