我正在使用Nagios存储库中的“check_sybase”脚本来监视Sybase数据库。 当Sybase需要加密网络上的密码时,就会出现问题。 我使用DBD :: Sybase作为驱动程序将DBI连接到Sybase。我已经检查了这个模块的文档,并指定连接字符串上的“encryptPassword = 1”就足够了。但它不起作用。这是我的连接字符串:
$dbh = DBI->connect("dbi:Sybase:encryptPassword=1;server=$dbsvr;database=$dbname;".
"charset=$charset;timeout=$timeout;".
"loginTimeout=$timeout", $user, $pass)
or &ncrit("Could not connect to '$dbname' on '$dbsvr'");
错误消息: Adaptive Server需要加密网络上的登录密码。
DBI connect('encryptPassword=1;server=XX;database=XX;charset=iso_1;timeout=15;loginTimeout=15','XX',...) failed: Server message number=1640 severity=16 state=2 line=0 server=XX text= **Adaptive Server requires encryption of the login password on the network.** Server message number=4002 severity=14 state=1 line=0 server=XX text=Login failed. OpenClient message: LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (34)Server XX, database Message String: Adaptive Server connection failed
不知道如何解决这个问题。 而且,当我通过isql连接命令“-X”工作正常。 Pd:我只能连接那些不需要密码加密的DB。我知道可以修改此属性。