问题标签 [cross-database]

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 投票
0 回答
821 浏览

sql - 使用别名或同义词的 SQL Server 跨数据库查询

我们正在开发一个数据库,该数据库整合了几个 SQL Server 数据库以满足报告要求。每个数据库都有许多视图。不需要可访问直接表或 SP 对象。所有数据库和新数据库位于同一台服务器中。因此,我们可以使用完全限定的对象名称非常轻松地开发跨数据库查询。

问题是依赖数据库的开发/登台/生产环境之间的依赖数据库名称不同。

我们已经调查了单个视图的同义词方法并且工作正常。我们试图从专家那里寻求的建议是我们应该坚持创建一个点来维护这个数据库别名而不是为每个视图创建同义词的最佳实践是什么,这样我们就可以在每个环境中执行一次并且可以维护新的查询在不同的环境中相同。

0 投票
1 回答
453 浏览

django - 在 Django 中引用另一个数据库中的视图

我有一个本地表,它需要从远程数据库中引用一个视图。
两个模型都在同一个应用程序中定义。

现在,我想使用 django-import-export 从 excel 导入数据或从表单保存数据。
它一直在读取错误的数据库。

我的本地数据库是 SQLite,远程数据库是 MSSQL。

用于访问视图的模型:

当模型是视图时,我将路由器设置为让 Django 读取远程数据库,否则从默认视图读取:

和错误:

你可以说它读取本地数据库,但它应该读取远程数据库。
我哪里错了?

我发现了这个问题,但没有答案: Django 1.11.1 上有多个数据库的“没有这样的表”

但我正在使用一个视图,它必须是不受管理的......

0 投票
2 回答
369 浏览

sql-server-2012 - 创建到 SQL Azure 数据库的链接服务器不起作用

我已经从与 Azure DB 的链接服务器相关的问题中回答了以下步骤

我需要将链接服务器添加到 MS Azure SQL Server

这确实在我的环境中创建了一个链接服务器,但是它没有连接到我指定的目录(FCS)。由于某种原因,它连接到默认值。有什么我做错了吗

0 投票
1 回答
85 浏览

sql-server - 使用 Azure SQL 进行跨数据库分析

我手头有几个Azure SQL数据库,我想在其中执行分析可视化

我的问题是我想用于可视化的数据存储在不同的数据库中,在同一台服务器上。假设我们有以下结构:

公司-Azure-Server.net

客户数据库

表_公司

表_公民

追随者_DB

Table_FollowRelationship _

我想分析Citizens, Companies和他们的FollowRelationship之间的关系

从数据分析的角度来看,这种架构对我来说毫无意义,因为它没有利用关系数据库的关系特性。

尽管如此,我被告知他们强烈倾向于保持这种方式以提高性能,以便通过微服务访问它,而不是将它们全部组合在一个数据库中。

现在,我知道使用 SQL Server,跨数据库查询不会有问题,但是使用 Azure SQL,它变得复杂得多。

那么我的问题是:

那里有哪些数据分析和可视化工具能够使用 Azure SQL 执行这些跨数据库查询?最好是开源的,因为我们是一家初创公司

0 投票
2 回答
211 浏览

sql-server - SQL Server 2019 cross-database function call permission

I have come across some interesting behaviour in SQL Server 2019 - it does not seem to occur in earlier versions.

If, in database1, I call a function in the same database, which calls a function in database2, which SELECTS a table in database2, I get "The SELECT permission was denied on the object '{TableName}', database '{DbName}', schema 'dbo'."

If, instead, I call the function in database2 directly (without using a function in database1), the query executes successfully.

Architecture diagram

My question is: what is the logic behind this? I don't understand why I am allowed to read a table in another database, without the SELECT permission, through a function, but not when I call that function using a function in my current database! Is it due to the function preventing the passing on of permissions? I am assuming at the moment that this is an intended change - but I don't understand the logic behind it.

Below is some code demonstrating the behaviour in a simple way.

0 投票
1 回答
100 浏览

database - 在 Azure Sql Db 中将特定数据从一个数据库复制到另一个数据库

我们如何在不使用 Azure 数据工厂的情况下从 DB1 中的表中选择一些数据并插入到 Azure sql Server 中的 DB2 中的表中?我搜索了互联网,发现有关使用 SSMS 生成数据查询并在 DB2 中运行该查询,但问题是数据太大而无法这样做,还尝试通过在数据库之间建立连接来执行 python 脚本,但 python 不是能够分配这么大的内存。注意:它不同于通常的 SQL 服务器,其中简单的选择和插入在开始时使用数据库名称,Azure 不允许您这样做。

0 投票
0 回答
87 浏览

django - 在多个数据库django中实现行级权限

我必须在 Django 中实现行级权限(对象级),我发现Django-guardian是一个不错的选择,但问题是我在项目中使用多个数据库一个数据库有用户表,而另一个数据库有表我想要行级权限和 Django-guardian 提到它们不支持多个数据库,并且多对多也不是一个选项,因为 Django 不支持跨数据库。

有没有其他方法可以实现这个

0 投票
2 回答
89 浏览

sql - 查询 SQL 表并仅将更新的行传输到不同的数据库

我有一个不断更新的数据库表。我希望仅查询对列中具有特定属性的行所做的更改/添加。例如,获取已更改/添加的行,其中的“描述”列是“xyz”。我的最终目标是将这些行复制到另一个数据库中的另一个表中。这甚至可能吗?不只是查询和覆盖另一个数据库中的行的原因是为了避免效率低下。

到目前为止我尝试了什么?

  • 我可以在表上选择查询来获取行,但它给了我所有的行,而不是那些已经更改或最近添加的行。如果我将这些行添加到另一个数据库中的表中,我唯一的选择就是覆盖这些行。

  • 日志表记录表中的更改,但我无法在 SQL 中放置其他过滤器,它告诉我哪些更改与“描述”列关联为“xyz”。

0 投票
1 回答
45 浏览

postgresql - 如何根据同一个表在另一个数据库中更新一个数据库中的表记录?

假设我有db1db2,两个数据库。我想执行类似的命令

这在 MySQL 中是可能的,没有任何问题。我很难在 PostgreSQL 中实现它。

我试过的:

在这里我被卡住了,我不知道如何继续。MySQL 中不存在这些问题。如何在 PostgreSQL 中克服它们?

0 投票
1 回答
41 浏览

asp.net-core - 使用 EFCore = no / 将上下文实体实例化为异步列表 = 有效的 CrossDB 查询 - 我应该采用什么真正的方法?

我有一个带有两个数据库服务器的系统,我正在使用:

其中之一是数据库优先——由遗留企业应用程序管理的数据库,我无法完全控制更改数据库结构。

第二个是代码优先,我可以完全控制代码优先数据库进行更改。

安全策略阻止我在代码优先数据库中创建一个连接来自两个数据库服务器的表的视图,根据我在 SO 帖子上看到的内容,这可能是一种使其变得更好的方法。

每个数据库都有一个上下文,因为它们是分开的。

代码优先表中的数据和结构旨在能够连接到非代码优先数据库,就好像它们都在一个数据库中一样。

我可以使用这组查询得到我需要的工作:

同样,这有效,并且可以在合理但显然不是最佳时间范围内恢复我的数据,我可以在需要此操作的 UI 中使用它,方法是在需要之前预加载数据。不是最好的,但有效。

如果我将变量声明更改为不是异步的,我被告知我应该在另一篇 SO 帖子中这样做,这将变成一个跨数据库查询,而 netcore 说不:

添加 ToListAsync() 是允许我需要工作的连接功能的原因。

问 - 谁能详细说明我正在做的事情可能存在的缺点和问题?

谢谢你帮助我理解!