将SQL脚本与数据库关联

9
我一直在使用 DBeaver 代替 SQL Server Management Studio,并且非常喜欢它。唯一我无法弄清的是如何将脚本与数据库关联起来。例如,在 SSMS 中,我可以右键单击对象资源管理器中的一个数据库(我们称其为 A),然后单击“新建查询”(或按 ctrl+n)来打开一个在数据库 A 中活动的脚本。如果我在另一个不同的数据库(B)中打开另一个脚本,则该脚本将与数据库 B 关联。当我切换回原始脚本时,我又回到了在不需要手动从数据库列表中选择或执行 USE 语句的情况下使用数据库 A。显然,再次切换到第二个脚本会再次使数据库 B 处于活动状态。
不幸的是,在 DBeaver 中,似乎只有一个活动数据库适用于所有脚本。是否有办法在 DBeaver 中设置这种行为方式并像 SSMS 一样工作呢?
编辑:DBeaver 将各个数据库称为目录/模式(catalog/schema),这就是我试图将其与各个脚本相关联的内容。
3个回答

12

我正在使用DBeaver社区版,并且已经在多个数据库中使用。您只需从下拉菜单中选择数据库以更改数据库,这是为打开的当前脚本而设置的。

我目前没有连接到公司系统,从互联网上找到一张示例图片。 这里输入图像描述


我可能应该更清楚地表达。我不是在谈论数据库连接,而是个别数据库。看起来DBeaver将它们称为目录/模式。它是图片中那个红圆圈右侧的下拉菜单。 - Jason

1
我不知道DBeaver是否具备此功能,但您始终可以在脚本前加上USE DBNAME语句...

0

更新

版本6.3.1(2019-12-22)现在默认支持此功能!以下是6.3.1描述的第一个注释:

  • SQL编辑器:
    • 活动数据库/模式更改现在仅影响当前编辑器

注意:这似乎已经改变了一些行为,例如从数据库导航器中“设置活动”以及“自动将xx与导航器同步”。这两个都曾经影响活动数据库/模式。现在它们与当前连接相关联。

原始答案

对于将来发现此问题的任何人,我找到了一个提供所需行为的解决方法。答案是使用项目。不幸的是,这意味着需要创建到服务器的重复连接。

这里还有一个需要注意的地方。如果您想为特定脚本设置模式,应避免通过“数据库导航器”设置模式。但是,如果您想更改活动项目中已存在的脚本的模式,则可以使用此方法。如果脚本不在活动项目中,并且您通过数据库导航器设置了活动模式,则会更改与该服务器关联的所有打开脚本的活动模式。为了简单起见,我尽量避免使用数据库导航器。

避免使用数据库导航器并不意味着一切都结束了。默认情况下,“项目”窗口位于数据库导航器旁边的选项卡中。如果您展开(单击名称旁边的+)[项目名称] -> 连接 -> [连接名称],您将在那里看到数据库/模式列表。将其用作新的数据库导航器即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接