在 Windows 中当密码以“!”结尾时如何连接到 DB2

在 Windows 中当密码以“!”结尾时如何连接到 DB2

当我使用通用帐户连接 DB2 数据库时,遇到了使用 DB2 工具的问题,该帐户生成的密码以 Bang 符号“!”结尾。我无法更改密码,因为其他进程已使用该密码。

我知道该用户是有效的,并且我可以使用它的凭据连接到数据库,但不是来自所有 db2 工具。

使用控制中心时没问题。使用命令编辑器 (GUI) 或命令窗口时,我收到以下错误消息:

connect to WAREHOUS user administrator using       !
SQL0104N  An unexpected token "!" was found following "<identifier>".  
Expected tokens may include:  "NEW".  SQLSTATE=42601

假设我的密码是:pass@!我正在尝试使用

c:\>db2 connect to sample user administrator using "pass@!"

或者

c:\>db2 connect to sample user administrator using pass@!

在这两种情况下我都收到了相同的错误消息。

我可以改变连接方式但这对我来说没有用,例如:

c:\>db2 connect to sample user administrator
Enter current password for administrator:

但我无法轻松地从批处理文件中使用它。

我想知道如何从命令编辑器进行连接,以便从图形工具中使用该用户。

顺便说一句,我知道控制中心已被弃用。

答案1

对于命令行,你可以尝试单引号

c:\>db2 connect to sample user administrator using 'pass@!'

GUI 工具无解决方案

答案2

我不被允许更改密码...

我怀疑这是确切地你最终会做什么。

...因为它已被其他进程使用。

绝对有必须更改此密码的过程。

如果账户/密码受到损害(并且存储的地方越多,发生这种情况的可能性就越大),那么你就会有没有选择而是要改变它。这个过程可能很痛苦,但如果不存在,您可能会面临巨大的(且代价高昂的)数据泄露。

我猜你刚开始使用 DB2,否则你早就遇到这个问题了。
如果你要“到处”使用相同的帐户/密码,那么你就不得不遵守密码复杂度规则的“最低公分母”——这是你能做到的最好的事情到处。显然 Bang 标志不符合这一点,所以你不能使用它们。

有没有选择使用不同的是否要为该特定流程更改帐户/密码,而其他部分保持不变?如果不是,则返回选项 1 - 在所有地方都进行更改。

相关内容