问题标签 [database-link]

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 投票
3 回答
108674 浏览

database - 如何通过数据库链接执行 Oracle 存储过程

我可以通过数据库链接调用 Oracle 中的存储过程吗?

数据库链接是有效的,因此语法如...

正在运行。但是有没有语法...

0 投票
2 回答
1628 浏览

oracle - 网络中断导致跨数据库链接的存储过程查询永远挂起

我支持通过 WAN 查询远程数据库的一些存储过程。网络偶尔会出现故障,但最糟糕的是程序失败并且必须重新启动。

在过去的几周里,情况发生了险恶的转折。而不是失败的程序挂在一个奇怪的锁定状态。它们不能在 Oracle 内部被杀死,只要它们存在,任何运行该过程的其他副本的尝试也会挂起。我们找到的唯一解决方案是使用操作系统中的“kill -9”来终止有问题的程序。其中一些程序几个月甚至几年都没有改变,所以我怀疑数据库或数据库配置中的根本原因。

任何人都知道我们可以做些什么来解决这个问题?或者 PL/SQL 是否具有可以添加到代码中的超时机制,以便我可以创建一个可以以编程方式处理的异常?

0 投票
2 回答
695 浏览

php - 跨多个 PHP 页面传输 MySQL 数据库链接

在多个 PHP 页面之间传输和/或共享资源链接是否有任何技巧?我不希望服务器继续连接到数据库只是为了获得另一个链接到同一个数据库中的同一个用户。

请记住,从 mysql_connect() 返回的链接在它源自的脚本完成执行后会自动关闭。无论如何在每个会话结束时手动关闭它吗?

0 投票
4 回答
949 浏览

sql - 如何使用 Oracle 廉价地验证另一个模式的表中是否存在列?

环境是 Oracle 9 & 10。我没有 DBA 级别的访问权限。

问题是验证特定列是否存在于特定表中,在另一个模式中。

有两种情况需要处理。

  1. 同一实例中的另一个架构
  2. 不同实例中的模式,使用 db_link

给定我的模式 FRED 和另一个模式 BARNEY,我尝试了这样的事情

产生[1]:(错误):ORA-00942:表或视图不存在

在考虑了一段时间后,我意识到 USER_TAB_COLS 并不是真正的表。这是一个视图。我一直在从表格中选择,但不是从视图中选择。

我用我的 db_link 尝试了同样的事情,并且惊讶地看到数据回来了。db_link 中有一个嵌入的 schema_name/password,所以对我来说它工作似乎是合理的,因为它有效地登录到另一个模式,这应该使视图可以访问。

在谷歌搜索之后,我的眼球在 Oracle doc 的山上疲惫不堪,我正在寻找有人指出我正确的方向,或者至少指出我错过了什么。

有哪些技术可用于从同一实例中的模式获取与用户表相关的元数据,以验证特定列是否存在?

提前致谢。

邪恶的。

+1 以获得好的答案。谢谢你。

0 投票
3 回答
270 浏览

sql - 在 SQL Server 2005 中更改上下文(模拟)和使用服务器链接时出现问题

当我在 SQL Server 2005 中将模拟与数据库链接结合起来时,我得到了一个奇怪的行为。首先,我使用简单的 SQL Server Authentication with Login 'John'连接到数据库服务器。在此服务器上,定义了服务器链接remote_sqlserver。我已经在此服务器中拥有mydb的 SELECT 权限。当我只是在此服务器链接上查询数据库上的表时:

之后,我尝试使用相同的登录名进行模拟(不要问为什么要这样做,我只是在尝试;))

当我恢复时,它再次起作用:

你有什么想法,为什么我得到一个模拟错误,虽然相同的登录可以在没有模拟的情况下查询表?

顺便说一句:在“冒充自我”之后,如果我查询本地数据库,(当然,我有足够的权限)我不会收到任何错误。只有当我通过服务器链接查询远程数据库时才会发生这种情况。

0 投票
3 回答
120 浏览

database - 如何设计这个数据库布局?

我正在一个类似于 Craigslist 的网站上工作,用户可以在该网站上发布帖子并在不同城市销售商品。我的网站和 Craigslist 之间的一个区别是您将能够通过邮政编码进行搜索,而不是在页面上列出所有城市。

我已经拥有邮政编码数据库,其中包含每个城市的所有城市、州、纬度、经度和邮政编码信息。好的,所以要深入了解我需要做的事情和需要帮助的事情:

  1. 虽然我有邮政编码数据库,但它的设置并不适合我的使用。(我是从网上免费下载的http://zips.sourceforge.net/

  2. 我需要帮助设置我的数据库结构(例如我应该使用多少个不同的表以及我应该如何链接它们)。

我将使用 PHP 和 MySQL。

到目前为止,这些是我对如何设置数据库的想法:(我不确定这是否可行。)

设想

有人去主页,它会告诉他们,“请输入您的邮政编码。”。例如,如果他们输入“17241”,则此邮政编码是针对位于宾夕法尼亚州的一个名为 Newville 的城市。使用当前数据库设置,查询将如下所示:

查询的结果将是“Newville”。我现在在这里看到的问题是,当他们想在网站的 Newville 部分发布内容时,我将不得不为 Newville 市的帖子设置一个完整的表格。有超过 42,000 个城市,这意味着我必须拥有超过 42,000 张桌子(每个城市一张),所以必须这样做是很疯狂的。

我正在考虑的一种方法是在邮政编码数据库中添加一个名为“ city_id ”的列,这将是分配给每个城市的唯一编号。例如,城市 Newville 的 city_id 为 83。所以现在如果有人来在 Newville 城市发布列表,我只需要另一个表。另一个表将像这样设置:

for_salejob_ 列名称是用户可以在下面列出的发布类型的类别。除了这两个类别之外,还有更多类别,但这只是示例。)

因此,现在当有人访问该网站并且他们正在寻找可以购买而不是出售的东西时,他们可以输入他们的邮政编码,例如 17241,这就是将运行的查询:

(我将使用 PHP 存储用户在 SESSIONS 和 Cookies 中输入的邮政编码,以便在整个站点中记住它们)

现在它会告诉他们,“请选择您的类别。”。如果他们选择“待售物品”类别,那么这是运行查询并对结果进行排序:

所以现在我的问题是,这行得通吗?我很确定它会,但我不想设置这个东西并意识到我忽略了一些东西并且必须从头开始。

0 投票
3 回答
49966 浏览

oracle - 如何创建远程和本地是同一服务器的数据库链接

我需要创建一个数据库链接,该链接是指向同一服务器上架构的链接。是否有一个特殊的关键字可以用于此?(如本地或本地主机)

我不完全确定 tnsnames 中的服务器名称是什么,这可能是我的问题的一部分。

这是针对涉及需要数据库链接才能继续的脚本的复杂情况。

0 投票
2 回答
1678 浏览

sql - Oracle EXISTS 查询未按预期工作 - DB Link 错误?

我对这个查询的结果完全感到困惑:

回报:1

company_users@colink.world 中有 0 条记录,stat='2473',为什么它为存在返回 true?

如果我像这样更改查询,它将返回 0:

更新好的,这真的很奇怪。为了看看会发生什么,我从另一个数据库(DB Links 引用的那个)执行了查询,它给出了不同的(正确的)结果。

返回 0(如预期的那样)。

0 投票
1 回答
3352 浏览

sql - 我可以在 Oracle 中链接数据库链接吗?

我有 3 个数据库。1 链接到 2,2 链接到 3。我想从 1 中查询 3 中的表。我尝试了 third_db_tab@3@2,但它没有用。想知道这是否可能,如果可能,语法是什么。

0 投票
2 回答
5529 浏览

database - 数据库链接 - Oracle 10g 和 Ms Access 2007

我正在尝试在 oracle 10g 和 ms access 2007 之间创建链接,但我不知道如何在 tnsnames.ora 文件中设置参数以访问我的 MS Access 数据库。我使用 Microsoft Access 驱动程序在 ODBC 数据源管理器中创建了新的数据源,并选择了我的访问数据库 (.mdb)。

在 MS Access 中,我可以在表之间进行链接,并且可以看到来自我的 Oracle 数据库的数据,但是我需要从 Toad 或 SqlDeveloper 创建一个数据库链接,这样我就可以使用我的 Oracle 数据库中的一些触发器来更改 MS Access db 中的数据。当我尝试测试我的数据库链接时,我收到以下错误:错误:ORA-12154:TNS:无法解析指定的连接标识符,因为我不知道需要将哪些参数写入 tnsnames.ora 文件。MS Access db 位于我的硬盘上。这是我的 tnsnames.ora 的样子:

但我不确定 PORT 和 SID。

有什么帮助吗?