在DBeaver 22.1.2中,我用user1创建了到Db2 v11.5.7.0数据库的连接。
每次开始使用连接时我都这样做:
- 右键单击连接并选择SQL编辑器|新建SQL脚本。
- 然后我需要切换用户与命令:
set session_user=user2
,然后我执行命令。 现在sql正常运行。
如何在我打开新脚本窗口(或连接后)后自动执行上述三个步骤?
我已经尝试了什么?
- 如果使用右键单击连接并编辑连接there is连接设置| Shell命令,但是看起来这些命令是在单独的进程中运行的,而且我也不知道如何在其中运行上述命令。
这个答案特别地址只有设置的专用寄存器为SESSION_USER后连接。如果要在连接后运行更通用的SQL,则需要一个不同的答案。
Dbeaver 22.1.2将允许使用specialRegisters
jdbc属性,它允许您分配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(提前被授予了一个合适的用户)。