如何在DBeaver连接后自动运行一些命令?



在DBeaver 22.1.2中,我用user1创建了到Db2 v11.5.7.0数据库的连接。

每次开始使用连接时我都这样做:

  1. 右键单击连接并选择SQL编辑器|新建SQL脚本
  2. 然后我需要切换用户与命令:set session_user=user2,然后我执行命令。
  3. 现在sql正常运行。

如何在我打开新脚本窗口(或连接后)后自动执行上述三个步骤?

我已经尝试了什么?

  • 如果使用右键单击连接并编辑连接there is连接设置| Shell命令,但是看起来这些命令是在单独的进程中运行的,而且我也不知道如何在其中运行上述命令。

这个答案特别地址只有设置的专用寄存器为SESSION_USER后连接。如果要在连接后运行更通用的SQL,则需要一个不同的答案。

Dbeaver 22.1.2将允许使用specialRegistersjdbc属性,它允许您分配SESSION_USER特殊寄存器,以及您可能需要的任何其他特殊寄存器。

在Dbeaver 22.1.2 (Linux)和Db2-LUW 11.5.7.0 (Linux)上测试。

关键的细节是specialRegisters属性不能目前在Edit Connection>Driver Properties祝辞Advanced driver properties屏幕。如果您尝试在这里添加设置,dbeaver将静默地放弃该设置。

相反,要使其工作,有必要在Edit connection>Main屏幕,一个冒号和一个分号设置。例如,假设您的数据库名称是sample,那么您将在数据库字段中使用这个值:

sample:specialRegisters=SESSION_USER=user2;

这是与db2 luw只要连接userid SETSESSIONUSER特权为目标的authid(提前被授予了一个合适的用户)。

最新更新