问题标签 [dblink]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3360 浏览

oracle - dblink 查询中的嵌套循环 (Oracle 11g)

我有一个形式的 SQL 查询

其中前两个表是到一个数据库的 dblink,最后一个是在第二个数据库上。没有访问本地表。

解释计划显示了一个嵌套循环,即使所有表都很大并且我希望在这种情况下使用哈希连接。(如果所有表都是本地的,我希望散列连接。)

“解释计划”看起来像这样:

此外,刷新统计数据似乎没有效果。

有人可以解释一下哪些因素会影响通过 dblink 进行的连接如何拆分并分发给远程数据库?是否有任何统计数据在此过程中发挥作用,以及如何发挥作用?

此外,“嵌套循环”甚至是真正的问题,还是完全是其他问题?
也许真正的问题是在本地提取 A 和 B 的全部内容并加入,而不是远程加入/过滤。(也许DRIVING_SITE提示会解决这个问题?)

谢谢。

0 投票
6 回答
57365 浏览

database - 测试 DB 链接 - ORA-12154:TNS:无法解析指定的连接标识符

我知道这个问题被问了很多次,但我不太清楚如何将这些信息应用于我的情况。

我有两个数据库,我正在尝试使用 DB LINK 连接它们。这些是:

  • BBEGMTD1
  • OPEGMTP1.WORLD

数据库链接已由某人定义,名称为 PE_DBLINK.WORLD。

我可以从我的机器上访问这两个数据库,所以我看不到 tnsnames.ora 会受到怎样的影响。

但是,当我测试 DB LINK 时,我得到了著名的:

链接:“PE_DBLINK.WORLD”错误:ORA-12154:TNS:无法解析指定的连接标识符

您能否指出正确的方向,是否需要在 BBEGMTD1 服务器上修改 tnsnames.ora?

根据@Chance 评论,select * from ALL_DB_LINKS返回:

这是 TOAD 中的 TNSNames 编辑器,用于显示正在显示的详细信息:

在此处输入图像描述

0 投票
1 回答
1341 浏览

oracle - 无法通过使用 DG4MSQL 创建的 db 链接查询 SQL Server 系统表

我正在尝试使用 DG4MSQL 网关创建从 Oracle 11g 到 SQL Server 2005 的数据库链接。

创建数据库链接后,我无法使用 JDBC 驱动程序查询 SQL Server 系统视图(sys.services 或 sys.objects),但我能够使用 JDBC 驱动程序查询所有用户表。

如果我使用 sqlplus,我可以查询所有表,包括系统表。由于我的项目是Java项目,所以必然要使用JDBC驱动。

我所做的另一项观察是,如果我使用 DG4ODBC 而不是 DG4MSQL 网关,那么我可以使用 JDBC 驱动程序查询所有 SQL Server 表,包括系统表。

请让我知道是否有任何方法可以使用 DG4MSQL 和 JDBC 驱动程序查询 SQL Server 系统表?

0 投票
1 回答
1443 浏览

postgresql - 将 dblink 生成的记录推送到调用存储过程之外

作为调用函数的结果,是否可以简单地传递由dblink()up 生成的结果记录,例如:

dblink可以像实际上一样调用此函数:

但它需要一些MAGIC. :(

可以plProxy很容易地做到这一点,但问题是如何用 来做到这一点dblink,如果有可能的话plpgsql

0 投票
1 回答
708 浏览

sql-server - DBLINK 从 SQL Server 到 Postgresql ( Postgis ) 避免 odbc

我有一个关于我们的客户要求我们做的 dblink 的问题。

  1. Postgres + postgis
  2. SQL Server 2008

我们需要在 (2) 上有一个通过 dblink 连接到 (1) 的 dblink,但问题在于不支持 GIS 部分的 odbc。

有没有其他方法可以制作这个 dblink ?

谢谢你们

0 投票
2 回答
3320 浏览

postgresql - 使用 dblink 在 PostgreSQL 中的数据库之间同步事务

我想在两个数据库之间透明地同步一组表,而无需更改应用程序代码。我的想法是在源数据库表中创建插入、更新和删除触发器,以使用 dblink 将数据复制到目标。数据库表无缝。

问题是源表中的更改总是在事务中完成。触发器会自动复制 dest 中的更改。表,但如果源事务回滚 dest。表的变化不是。

有没有办法在两个数据库之间自动同步事务开始和提交/回滚?类似触发器的行为将是理想的。

0 投票
2 回答
6058 浏览

oracle - INSERT ALL INTO 通过 dblink 插入表 .. 有可能吗?

当我执行以下操作时:

我收到一个错误

SQL 错误:ORA-02021:远程数据库 02021 上不允许 DDL 操作。 00000 - “远程数据库上不允许 DDL 操作” *原因:试图在远程数据库上使用 DDL 操作。例如,“CREATE TABLE tablename@remotedbname ...”。*操作:要更改远程数据库结构,您必须以适当的权限连接到远程数据库。

请注意,当我执行常规(而不是全部插入)时...插入在数据库链接上工作。(赠款是有效的)。

两个表上也没有触发器。

而且我明确需要 INSERT ALL INTO,以便能够插入多个表。

数据库链接表中是否不允许 INSERT ALL INTO 操作?

0 投票
2 回答
1625 浏览

sql-server - 从 SQL Server 到 postgresql 的 DBLink:获取序列 nextval

我有一个需要连接到 POSTGRESQL 9.0 服务器的 SQL Server 2008。

我需要的任务之一是通过 POSTGRESQL 获取序列的下一个值

示例 1:

错误:

消息 7215,级别 17,状态 1,第 1 行无法在远程服务器“POSTGRESQL”上执行语句。*

示例 2:

错误:

消息 7399,级别 16,状态 1,第 1 行链接服务器“POSTGRESQL”的 OLE DB 提供程序“MSDASQL”报告错误。提供商报告了意外的灾难性故障。消息 7350,级别 16,状态 2,第 1 行无法从链接服务器“POSTGRESQL”的 OLE DB 提供程序“MSDASQL”获取列信息。*

这些选项都不起作用!

有什么好的选择吗?

先感谢您

0 投票
1 回答
3354 浏览

oracle - 如何设置从 Linux RedHat 64 位上的 Oracle 10gR2 到 Linux RedHat 64 位上的 Postgresql 8.3 的 dblink?

我从 Oracle 尝试这个查询:

这是我收到的错误消息:

这是tnsnames.ora

这是listener.ora

注意启动监听器后,这里是输出

这里initPostgres.ora

/oracle/product/10.2.0/hs/log/record.trc是空的。

我错过了什么?

Oracle 10gR2
Linux RedHat 64 位

Postgresql 8.3
Linux RedHat 64 位

编辑: 当我尝试手动检查 ODBC 驱动程序是否已启动并正在运行时,这就是我得到的:

0 投票
2 回答
14485 浏览

sql - oracle - 通过 dblink 提交?

如果我以 smith 用户身份连接到 oracle 数据库,并发出以下 3 个命令:

这是否意味着对本地表 (smith.tablea) 的更新和对远程数据库表 (bob.other_table) 的插入都已提交,或者仅对本地表的更新已提交?

注意:'mylink' 代表一个到远程数据库的 dblink。