Свяжите сценарий SQL с базой данных

Я использую DBeaver в качестве замены SQL Server Management Studio, и мне это нравится. Единственное, чего я не могу понять, это как связать скрипт с базой данных. Например, в SSMS я могу щелкнуть правой кнопкой мыши базу данных (назовем ее A) в проводнике объектов и щелкнуть «Новый запрос» (или ctrl + n), чтобы открыть скрипт, активный в базе данных A. Если я открою другой скрипт в другая база данных (B), этот сценарий связан с базой данных B. Когда я возвращаюсь к исходному сценарию, я возвращаюсь к работе с базой данных A без необходимости вручную выбирать из списка базы данных или выполнять оператор USE. Очевидно, что при возврате ко второму сценарию база данных B снова станет активной.

К сожалению, в DBeaver, похоже, есть только одна активная база данных для всех скриптов. Есть ли способ настроить это в DBeaver таким образом, чтобы оно действовало как SSMS?

Изменить: DBeaver относится к отдельным базам данных как к каталогу / схеме. Это то, что я пытаюсь связать с отдельными сценариями.


person Jason    schedule 26.07.2019    source источник


Ответы (3)


Я использую сообщество DBeaver, и я использую его с несколькими БД. Вам нужно просто выбрать База данных из раскрывающегося списка, чтобы изменить БД, это для текущего скрипта, который открывается.

У меня в настоящее время нет подключенной системы моей компании, найдите один образец изображения в Интернете. введите описание изображения здесь

person Jophy job    schedule 26.07.2019
comment
Я, наверное, должен был быть более ясным. Я говорю не о соединениях с базами данных, а об отдельных базах данных. Похоже, DBeaver обращается к ним как к каталогу / схеме. Это раскрывающийся список справа от красного кружка на картинке. - person Jason; 26.07.2019

Я не знаю, есть ли у DBeaver такая возможность, но вы всегда можете предварить свои скрипты оператором USE DBNAME ...

person Acy.Forsythe    schedule 26.07.2019

ОБНОВИТЬ

Версия 6.3.1 (2019-12-22) теперь поддерживает это по умолчанию! Вот первое примечание к описанию 6.3.1:

  • SQL editor:
    • Active database/schema change now affects current editor only

Примечание. Похоже, что это изменило некоторые действия, такие как «Установить активным» в навигаторе базы данных, а также «Автосинхронизация xx с навигатором». Эти два используются для воздействия на активную базу данных / схему. Теперь они привязаны к текущему подключению.

Исходный ответ

Для тех, кто найдет это в будущем, я нашел способ, обеспечивающий желаемое поведение. Ответ - использовать проекты. К сожалению, это означает создание дублирующего подключения к серверу.

Здесь есть еще одна загвоздка. Если вы хотите установить схему для определенного сценария, вам следует избегать установки схемы через «Навигатор базы данных». Однако это сработает, если вы хотите изменить схему для сценария, который уже находится в активном проекте. Если сценарий отсутствует в активном проекте и вы установили активную схему с помощью навигатора базы данных, он изменит активную схему для всех открытых сценариев, связанных с этим сервером. Чтобы не усложнять, я стараюсь полностью избегать использования навигатора базы данных.

Не все потеряно, если отказаться от навигатора базы данных. По умолчанию окно «Проекты» - это вкладка рядом с навигатором базы данных. Если вы развернете (щелкните + рядом с именем) [Project Name] -> Connections -> [Connection Name], у вас будет список баз данных / схемы прямо здесь. Используйте его в качестве нового навигатора базы данных, и все готово.

person Jason    schedule 06.08.2019